X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftest%2Ftest-unit-file.c;h=34865729f29c0b97748f3a4cd6398c58d7f0f608;hb=2d2349cc3ed43153344807892332c9fa626c8d8a;hp=a8d5b65e6d8249b6fb6197ec060789ddfa769d30;hpb=2d5bdf5bc0e4714d42e5999a4e37553a6bf83575;p=elogind.git diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c index a8d5b65e6..34865729f 100644 --- a/src/test/test-unit-file.c +++ b/src/test/test-unit-file.c @@ -48,6 +48,12 @@ static int test_unit_file_get_set(void) { assert(h); r = unit_file_get_list(UNIT_FILE_SYSTEM, NULL, h); + + if (r == -EPERM || r == -EACCES) { + printf("Skipping test: unit_file_get_list: %s", strerror(-r)); + return EXIT_TEST_SKIP; + } + log_full(r == 0 ? LOG_INFO : LOG_ERR, "unit_file_get_list: %s", strerror(-r)); if (r < 0) @@ -228,7 +234,7 @@ static void test_load_env_file_1(void) { assert(fd >= 0); assert_se(write(fd, env_file_1, sizeof(env_file_1)) == sizeof(env_file_1)); - r = load_env_file(name, NULL, &data); + r = load_env_file(NULL, name, NULL, &data); assert(r == 0); assert(streq(data[0], "a=a")); assert(streq(data[1], "b=bc")); @@ -251,7 +257,7 @@ static void test_load_env_file_2(void) { assert(fd >= 0); assert_se(write(fd, env_file_2, sizeof(env_file_2)) == sizeof(env_file_2)); - r = load_env_file(name, NULL, &data); + r = load_env_file(NULL, name, NULL, &data); assert(r == 0); assert(streq(data[0], "a=a")); assert(data[1] == NULL); @@ -269,7 +275,7 @@ static void test_load_env_file_3(void) { assert(fd >= 0); assert_se(write(fd, env_file_3, sizeof(env_file_3)) == sizeof(env_file_3)); - r = load_env_file(name, NULL, &data); + r = load_env_file(NULL, name, NULL, &data); assert(r == 0); assert(data == NULL); unlink(name); @@ -285,7 +291,7 @@ static void test_load_env_file_4(void) { assert(fd >= 0); assert_se(write(fd, env_file_4, sizeof(env_file_4)) == sizeof(env_file_4)); - r = load_env_file(name, NULL, &data); + r = load_env_file(NULL, name, NULL, &data); assert(r == 0); assert(streq(data[0], "HWMON_MODULES=coretemp f71882fg")); assert(streq(data[1], "MODULE_0=coretemp")); @@ -295,9 +301,6 @@ static void test_load_env_file_4(void) { } -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wnonnull" - static void test_install_printf(void) { char name[] = "name.service", path[] = "/run/systemd/system/name.service", @@ -343,7 +346,11 @@ static void test_install_printf(void) { expect(i, "%p", "name"); expect(i, "%i", ""); expect(i, "%u", "xxxx-no-such-user"); + + DISABLE_WARNING_NONNULL; expect(i, "%U", NULL); + REENABLE_WARNING; + expect(i, "%m", mid); expect(i, "%b", bid); expect(i, "%H", host); @@ -355,7 +362,11 @@ static void test_install_printf(void) { expect(i3, "%N", "name@inst"); expect(i3, "%p", "name"); expect(i3, "%u", "xxxx-no-such-user"); + + DISABLE_WARNING_NONNULL; expect(i3, "%U", NULL); + REENABLE_WARNING; + expect(i3, "%m", mid); expect(i3, "%b", bid); expect(i3, "%H", host); @@ -363,7 +374,6 @@ static void test_install_printf(void) { expect(i4, "%u", "root"); expect(i4, "%U", "0"); } -#pragma GCC diagnostic pop int main(int argc, char *argv[]) { int r;