chiark / gitweb /
test-unit-file: return error without dumping core on permission error
[elogind.git] / src / test / test-unit-file.c
index a7fe77af240ddaf432a6eaf1b58a8ed23636ba79..2075e8611551766ed45a137c76a89cb1c3041741 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;
 }