]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-journal-send: add tests for sendv
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 3 Dec 2015 05:45:59 +0000 (00:45 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 3 Dec 2015 14:14:01 +0000 (09:14 -0500)
Also, check the return value of all calls.
They are documented to return 0, even if journald is not listening.

src/journal/test-journal-send.c

index 3b1515e43890b935f93614fa7457ceaeb7c77b2a..e537c1fe5f730556c38858cd16aff9d0e3c9c911 100644 (file)
 int main(int argc, char *argv[]) {
         char huge[4096*1024];
 
-        sd_journal_print(LOG_INFO, "piepapo");
-
-        sd_journal_send("MESSAGE=foobar",
-                        "VALUE=%i", 7,
-                        NULL);
+        /* utf-8 and non-utf-8, message-less and message-ful iovecs */
+        struct iovec graph1[] = {
+                {(char*) "GRAPH=graph", strlen("GRAPH=graph")}
+        };
+        struct iovec graph2[] = {
+                {(char*) "GRAPH=graph\n", strlen("GRAPH=graph\n")}
+        };
+        struct iovec message1[] = {
+                {(char*) "MESSAGE=graph", strlen("MESSAGE=graph")}
+        };
+        struct iovec message2[] = {
+                {(char*) "MESSAGE=graph\n", strlen("MESSAGE=graph\n")}
+        };
+
+        assert_se(sd_journal_print(LOG_INFO, "piepapo") == 0);
+
+        assert_se(sd_journal_send("MESSAGE=foobar",
+                                  "VALUE=%i", 7,
+                                  NULL) == 0);
 
         errno = ENOENT;
-        sd_journal_perror("Foobar");
+        assert_se(sd_journal_perror("Foobar") == 0);
 
-        sd_journal_perror("");
+        assert_se(sd_journal_perror("") == 0);
 
         memset(huge, 'x', sizeof(huge));
         memcpy(huge, "HUGE=", 5);
         char_array_0(huge);
 
-        sd_journal_send("MESSAGE=Huge field attached",
-                        huge,
-                        NULL);
+        assert_se(sd_journal_send("MESSAGE=Huge field attached",
+                                  huge,
+                                  NULL) == 0);
 
-        sd_journal_send("MESSAGE=uiui",
-                        "VALUE=A",
-                        "VALUE=B",
-                        "VALUE=C",
-                        "SINGLETON=1",
-                        "OTHERVALUE=X",
-                        "OTHERVALUE=Y",
-                        "WITH_BINARY=this is a binary value \a",
-                        NULL);
+        assert_se(sd_journal_send("MESSAGE=uiui",
+                                  "VALUE=A",
+                                  "VALUE=B",
+                                  "VALUE=C",
+                                  "SINGLETON=1",
+                                  "OTHERVALUE=X",
+                                  "OTHERVALUE=Y",
+                                  "WITH_BINARY=this is a binary value \a",
+                                  NULL) == 0);
 
         syslog(LOG_NOTICE, "Hello World!");
 
-        sd_journal_print(LOG_NOTICE, "Hello World");
-
-        sd_journal_send("MESSAGE=Hello World!",
-                        "MESSAGE_ID=52fb62f99e2c49d89cfbf9d6de5e3555",
-                        "PRIORITY=5",
-                        "HOME=%s", getenv("HOME"),
-                        "TERM=%s", getenv("TERM"),
-                        "PAGE_SIZE=%li", sysconf(_SC_PAGESIZE),
-                        "N_CPUS=%li", sysconf(_SC_NPROCESSORS_ONLN),
-                        NULL);
+        assert_se(sd_journal_print(LOG_NOTICE, "Hello World") == 0);
+
+        assert_se(sd_journal_send("MESSAGE=Hello World!",
+                                  "MESSAGE_ID=52fb62f99e2c49d89cfbf9d6de5e3555",
+                                  "PRIORITY=5",
+                                  "HOME=%s", getenv("HOME"),
+                                  "TERM=%s", getenv("TERM"),
+                                  "PAGE_SIZE=%li", sysconf(_SC_PAGESIZE),
+                                  "N_CPUS=%li", sysconf(_SC_NPROCESSORS_ONLN),
+                                  NULL) == 0);
+
+        assert_se(sd_journal_sendv(graph1, 1) == 0);
+        assert_se(sd_journal_sendv(graph2, 1) == 0);
+        assert_se(sd_journal_sendv(message1, 1) == 0);
+        assert_se(sd_journal_sendv(message2, 1) == 0);
+
+        /* test without location fields */
+#undef sd_journal_sendv
+        assert_se(sd_journal_sendv(graph1, 1) == 0);
+        assert_se(sd_journal_sendv(graph2, 1) == 0);
+        assert_se(sd_journal_sendv(message1, 1) == 0);
+        assert_se(sd_journal_sendv(message2, 1) == 0);
 
         sleep(1);