mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 17:51:22 +03:00
test-condition: do not accidentally treat error as passing condition
condition_test returns 0, 1, or error.
This commit is contained in:
parent
910c6d0931
commit
9c02391088
@ -43,77 +43,77 @@ static void test_condition_test_path(void) {
|
||||
|
||||
condition = condition_new(CONDITION_PATH_EXISTS, "/bin/s?", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_EXISTS_GLOB, "/bin/s?", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_EXISTS_GLOB, "/bin/s?", false, true);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_EXISTS, "/thiscertainlywontexist", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_EXISTS, "/thiscertainlywontexist", false, true);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_IS_DIRECTORY, "/bin", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_DIRECTORY_NOT_EMPTY, "/bin", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_FILE_NOT_EMPTY, "/bin/sh", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_FILE_IS_EXECUTABLE, "/bin/sh", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_FILE_IS_EXECUTABLE, "/etc/passwd", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_IS_MOUNT_POINT, "/proc", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_IS_MOUNT_POINT, "/", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_IS_MOUNT_POINT, "/bin", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_IS_READ_WRITE, "/tmp", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_PATH_IS_SYMBOLIC_LINK, "/dev/stdout", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
}
|
||||
|
||||
@ -133,12 +133,12 @@ static void test_condition_test_control_group_controller(void) {
|
||||
/* Invalid controllers are ignored */
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, "thisisnotarealcontroller", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, "thisisnotarealcontroller", false, true);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
assert_se(cg_mask_supported(&system_mask) >= 0);
|
||||
@ -151,23 +151,23 @@ static void test_condition_test_control_group_controller(void) {
|
||||
log_info("this controller is available");
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, local_controller_name, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, local_controller_name, false, true);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
} else {
|
||||
log_info("this controller is unavailable");
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, local_controller_name, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, local_controller_name, false, true);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
}
|
||||
}
|
||||
@ -177,12 +177,12 @@ static void test_condition_test_control_group_controller(void) {
|
||||
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, strempty(controller_name), false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, strempty(controller_name), false, true);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
}
|
||||
|
||||
@ -218,17 +218,17 @@ static void test_condition_test_host(void) {
|
||||
|
||||
condition = condition_new(CONDITION_HOST, sid, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_HOST, "garbage value jjjjjjjjjjjjjj", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_HOST, sid, false, true);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
hostname = gethostname_malloc();
|
||||
@ -240,7 +240,7 @@ static void test_condition_test_host(void) {
|
||||
else {
|
||||
condition = condition_new(CONDITION_HOST, hostname, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
}
|
||||
}
|
||||
@ -277,12 +277,12 @@ static void test_condition_test_kernel_command_line(void) {
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_COMMAND_LINE, "thisreallyshouldntbeonthekernelcommandline", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_COMMAND_LINE, "andthis=neither", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
}
|
||||
|
||||
@ -293,12 +293,12 @@ static void test_condition_test_kernel_version(void) {
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "*thisreallyshouldntbeinthekernelversion*", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "*", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
/* An artificially empty condition. It evaluates to true, but normally
|
||||
@ -312,7 +312,7 @@ static void test_condition_test_kernel_version(void) {
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, u.release, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
strshorten(u.release, 4);
|
||||
@ -320,13 +320,13 @@ static void test_condition_test_kernel_version(void) {
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, u.release, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
/* 0.1.2 would be a very very very old kernel */
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "> 0.1.2", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, ">0.1.2", false, false);
|
||||
@ -351,48 +351,48 @@ static void test_condition_test_kernel_version(void) {
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, ">= 0.1.2", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "< 0.1.2", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "<= 0.1.2", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "= 0.1.2", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
/* 4711.8.15 is a very very very future kernel */
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "< 4711.8.15", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "<= 4711.8.15", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "= 4711.8.15", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, "> 4711.8.15", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, ">= 4711.8.15", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
assert_se(uname(&u) >= 0);
|
||||
@ -400,31 +400,31 @@ static void test_condition_test_kernel_version(void) {
|
||||
v = strjoina(">=", u.release);
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, v, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
v = strjoina("= ", u.release);
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, v, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
v = strjoina("<=", u.release);
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, v, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
v = strjoina("> ", u.release);
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, v, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
v = strjoina("< ", u.release);
|
||||
condition = condition_new(CONDITION_KERNEL_VERSION, v, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
}
|
||||
|
||||
@ -433,12 +433,12 @@ static void test_condition_test_null(void) {
|
||||
|
||||
condition = condition_new(CONDITION_NULL, NULL, false, false);
|
||||
assert_se(condition);
|
||||
assert_se(condition_test(condition));
|
||||
assert_se(condition_test(condition) > 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_NULL, NULL, false, true);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
}
|
||||
|
||||
@ -447,7 +447,7 @@ static void test_condition_test_security(void) {
|
||||
|
||||
condition = condition_new(CONDITION_SECURITY, "garbage oifdsjfoidsjoj", false, false);
|
||||
assert_se(condition);
|
||||
assert_se(!condition_test(condition));
|
||||
assert_se(condition_test(condition) == 0);
|
||||
condition_free(condition);
|
||||
|
||||
condition = condition_new(CONDITION_SECURITY, "selinux", false, true);
|
||||
|
Loading…
Reference in New Issue
Block a user