]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/journal/test-journal-send.c
Add SPDX license identifiers to source files under the LGPL
[thirdparty/systemd.git] / src / journal / test-journal-send.c
index 694376670d069750a604417141d5dcea5083eb9a..833ca415dab546422b07fb2312a004e308e87e8c 100644 (file)
@@ -1,5 +1,4 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
+/* SPDX-License-Identifier: LGPL-2.1+ */
 /***
   This file is part of systemd.
 
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
+#include <errno.h>
 #include <stdlib.h>
 #include <unistd.h>
 
 #include "sd-journal.h"
 
-#include "log.h"
+#include "macro.h"
 
 int main(int argc, char *argv[]) {
         char huge[4096*1024];
 
-        log_set_max_level(LOG_DEBUG);
-
-        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);