1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-28 03:25:27 +03:00

test-journal-send: add tests for sendv

Also, check the return value of all calls.
They are documented to return 0, even if journald is not listening.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2015-12-03 00:45:59 -05:00
parent 9a7800af08
commit 85049096c7

View File

@ -30,47 +30,73 @@
int main(int argc, char *argv[]) {
char huge[4096*1024];
sd_journal_print(LOG_INFO, "piepapo");
/* 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")}
};
sd_journal_send("MESSAGE=foobar",
"VALUE=%i", 7,
NULL);
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");
assert_se(sd_journal_print(LOG_NOTICE, "Hello World") == 0);
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_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);