chiark / gitweb /
tests: add test-async
[elogind.git] / src / test / test-unit-file.c
index a8d5b65e6d8249b6fb6197ec060789ddfa769d30..48133428df393960214f1079cefc5242bbd20548 100644 (file)
@@ -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)
@@ -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;