chiark / gitweb /
test-unit-file: return error without dumping core on permission error
authorChristian Hesse <list@eworm.de>
Tue, 30 Jul 2013 13:07:20 +0000 (09:07 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 30 Jul 2013 13:29:21 +0000 (09:29 -0400)
src/test/test-unit-file.c

index a7fe77a..2075e86 100644 (file)
@@ -36,7 +36,7 @@
 #include "strv.h"
 #include "fileio.h"
 
-static void test_unit_file_get_set(void) {
+static int test_unit_file_get_set(void) {
         int r;
         Hashmap *h;
         Iterator i;
@@ -46,13 +46,17 @@ static void test_unit_file_get_set(void) {
         assert(h);
 
         r = unit_file_get_list(UNIT_FILE_SYSTEM, NULL, h);
-        log_info("unit_file_get_list: %s", strerror(-r));
-        assert(r >= 0);
+        log_full(r == 0 ? LOG_INFO : LOG_ERR,
+                 "unit_file_get_list: %s", strerror(-r));
+        if (r < 0)
+                return EXIT_FAILURE;
 
         HASHMAP_FOREACH(p, h, i)
                 printf("%s = %s\n", p->path, unit_file_state_to_string(p->state));
 
         unit_file_list_free(h);
+
+        return 0;
 }
 
 static void check_execcommand(ExecCommand *c,
@@ -351,11 +355,12 @@ static void test_install_printf(void) {
 #pragma GCC diagnostic pop
 
 int main(int argc, char *argv[]) {
+        int r;
 
         log_parse_environment();
         log_open();
 
-        test_unit_file_get_set();
+        r = test_unit_file_get_set();
         test_config_parse_exec();
         test_load_env_file_1();
         test_load_env_file_2();
@@ -363,5 +368,5 @@ int main(int argc, char *argv[]) {
         test_load_env_file_4();
         test_install_printf();
 
-        return 0;
+        return r;
 }