chiark / gitweb /
systemd-coredump: Ignore coredumps larger than COREDUMP_MAX
[elogind.git] / src / journal / test-catalog.c
index 21149f18a5519a6394bd6406b47b78f5acaf667f..5db5bed8de0135826130133ed5c0b45c7cc2ac7c 100644 (file)
 #include "sd-messages.h"
 #include "catalog.h"
 
+static const char *catalog_dirs[] = {
+        CATALOG_DIR,
+        NULL,
+};
+
+static const char *no_catalog_dirs[] = {
+        "/bin/hopefully/with/no/catalog",
+        NULL
+};
+
 static void test_import(Hashmap *h, struct strbuf *sb,
                         const char* contents, ssize_t size, int code) {
         int r;
         char name[] = "/tmp/test-catalog.XXXXXX";
-        int _cleanup_close_ fd = mkstemp(name);
+        _cleanup_close_ int fd = mkstemp(name);
         assert(fd >= 0);
         assert_se(write(fd, contents, size) == size);
 
@@ -89,7 +99,6 @@ static const char* database = NULL;
 
 static void test_catalog_update(void) {
         int r;
-        char _cleanup_free_ *path = NULL;
 
         static char name[] = "/tmp/test-catalog.XXXXXX";
         r = mkstemp(name);
@@ -101,9 +110,13 @@ static void test_catalog_update(void) {
         r = catalog_update(database, NULL, NULL);
         assert(r >= 0);
 
-        /* Note: this might actually not find anything, if systemd was
-         * not installed before. That should be fine too. */
-        r = catalog_update(database, NULL, catalog_file_dirs);
+        /* Test what happens if there are no files in the directory. */
+        r = catalog_update(database, NULL, no_catalog_dirs);
+        assert(r >= 0);
+
+        /* Make sure that we at least have some files loaded or the
+           catalog_list below will fail. */
+        r = catalog_update(database, NULL, catalog_dirs);
         assert(r >= 0);
 }