From 700b83c8e590ac352c82012dfd480945f2f8d425 Mon Sep 17 00:00:00 2001 From: Agnieszka Baumann Date: Mon, 9 Mar 2020 16:39:39 +0100 Subject: [PATCH] kmsg_parser divided into positive and negative tests Change-Id: I2ec28842022640869856a6af9b71fa1ffe8eb986 --- Makefile.am | 19 +++++++++++---- src/tests/{kmsg_parser.c => kmsg_assert.c} | 37 +----------------------------- src/tests/kmsg_parser_neg.c | 16 +++++++++++++ src/tests/kmsg_parser_pos.c | 27 ++++++++++++++++++++++ 4 files changed, 59 insertions(+), 40 deletions(-) rename src/tests/{kmsg_parser.c => kmsg_assert.c} (50%) create mode 100644 src/tests/kmsg_parser_neg.c create mode 100644 src/tests/kmsg_parser_pos.c diff --git a/Makefile.am b/Makefile.am index f097951..2207072 100644 --- a/Makefile.am +++ b/Makefile.am @@ -261,7 +261,8 @@ check_PROGRAMS = \ src/tests/test_logger_log_storage \ src/tests/test_ptrs_list \ src/tests/config \ - src/tests/kmsg_parser \ + src/tests/kmsg_parser_pos \ + src/tests/kmsg_parser_neg \ src/tests/syslog_parser \ src/tests/pipe_message \ src/tests/test_common \ @@ -398,15 +399,25 @@ src_tests_logutil_SOURCES = src/tests/logutil.c \ src_tests_logutil_CFLAGS = $(check_CFLAGS) src_tests_logutil_LDFLAGS = $(AM_LDFLAGS) -lcap -Wl,--wrap=clock_gettime,--wrap=log_should_print_line,--wrap=fdi_push_log -src_tests_kmsg_parser_SOURCES = src/tests/kmsg_parser.c \ +src_tests_kmsg_parser_pos_SOURCES = src/tests/kmsg_parser_pos.c \ src/shared/logcommon.c \ src/shared/queued_entry.c \ src/shared/ptrs_list.c \ src/shared/logprint.c \ src/shared/parsers.c \ src/shared/translate_syslog.c -src_tests_kmsg_parser_CFLAGS = $(check_CFLAGS) -src_tests_kmsg_parser_LDFLAGS = $(AM_LDFLAGS) +src_tests_kmsg_parser_pos_CFLAGS = $(check_CFLAGS) +src_tests_kmsg_parser_pos_LDFLAGS = $(AM_LDFLAGS) + +src_tests_kmsg_parser_neg_SOURCES = src/tests/kmsg_parser_neg.c \ + src/shared/logcommon.c \ + src/shared/queued_entry.c \ + src/shared/ptrs_list.c \ + src/shared/logprint.c \ + src/shared/parsers.c \ + src/shared/translate_syslog.c +src_tests_kmsg_parser_neg_CFLAGS = $(check_CFLAGS) +src_tests_kmsg_parser_neg_LDFLAGS = $(AM_LDFLAGS) src_tests_syslog_parser_SOURCES = src/tests/syslog_parser.c \ src/shared/logcommon.c \ diff --git a/src/tests/kmsg_parser.c b/src/tests/kmsg_assert.c similarity index 50% rename from src/tests/kmsg_parser.c rename to src/tests/kmsg_assert.c index 182031c..d8121e3 100644 --- a/src/tests/kmsg_parser.c +++ b/src/tests/kmsg_assert.c @@ -1,7 +1,7 @@ +#include #include #include #include -#include void assert_result_buffer(char const *msg, int expected_outcome, struct dlogutil_entry_with_msg *lem) { @@ -39,38 +39,3 @@ void assert_entry(char const * msg, const struct dlogutil_entry_with_msg *expect assert(!strcmp(tag_expected, tag_actual)); assert(!strcmp(msg_expected, msg_actual)); } - -int main() -{ - struct dlogutil_entry_with_msg lem; - assert_result("" , -EINVAL); - assert_result("invalid" , -EINVAL); - assert_result("1,2" , -EINVAL); - assert_result("1,2,3" , -EINVAL); - assert_result("1,2,3,-;foo" , -EINVAL); - assert_result("1,2,3,4,5,6,7", -EINVAL); - assert_result(";bla" , -EINVAL); - - assert_result("1,2,99999999999999999999999999999999999999,4", -ERANGE); - - lem.header.pid = 0; - lem.header.tid = 0; - - lem.header.priority = DLOG_FATAL; - lem.header.tag_len = snprintf(lem.msg, sizeof lem.msg - 1, "%s", "SYSLOG_KERN"); - lem.header.len = lem.header.tag_len + 1; // plus NULL delimiter - lem.header.len += 1 + snprintf(lem.msg + lem.header.len, sizeof lem.msg - 1 - lem.header.len, "%s", "Some message."); - - lem.header.len += sizeof(dlogutil_entry_s); - lem.header.padding = 0; - - assert_entry("1,234,56789,-;Some message.\n _SOME_IRRELEVANT_TAG=BLA\n", &lem); - - lem.header.tag_len = snprintf(lem.msg, sizeof lem.msg - 1, "%s", "SYSLOG-UNKNOWN"); - lem.header.len = lem.header.tag_len + 1; - lem.header.len += 1 + snprintf(lem.msg + lem.header.len, sizeof lem.msg - 1 - lem.header.len, "%s", "Some message."); - lem.header.len += sizeof lem.header; - assert_entry("241,234,56789,-;Some message.\n _SOME_IRRELEVANT_TAG=BLA\n", &lem); - - return 0; -} diff --git a/src/tests/kmsg_parser_neg.c b/src/tests/kmsg_parser_neg.c new file mode 100644 index 0000000..f3b308a --- /dev/null +++ b/src/tests/kmsg_parser_neg.c @@ -0,0 +1,16 @@ +#include "kmsg_assert.c" + +int main() +{ + assert_result("" , -EINVAL); + assert_result("invalid" , -EINVAL); + assert_result("1,2" , -EINVAL); + assert_result("1,2,3" , -EINVAL); + assert_result("1,2,3,-;foo" , -EINVAL); + assert_result("1,2,3,4,5,6,7", -EINVAL); + assert_result(";bla" , -EINVAL); + + assert_result("1,2,99999999999999999999999999999999999999,4", -ERANGE); + + return 0; +} diff --git a/src/tests/kmsg_parser_pos.c b/src/tests/kmsg_parser_pos.c new file mode 100644 index 0000000..1bdf09a --- /dev/null +++ b/src/tests/kmsg_parser_pos.c @@ -0,0 +1,27 @@ +#include "kmsg_assert.c" + +int main() +{ + struct dlogutil_entry_with_msg lem; + + lem.header.pid = 0; + lem.header.tid = 0; + + lem.header.priority = DLOG_FATAL; + lem.header.tag_len = snprintf(lem.msg, sizeof lem.msg - 1, "%s", "SYSLOG_KERN"); + lem.header.len = lem.header.tag_len + 1; // plus NULL delimiter + lem.header.len += 1 + snprintf(lem.msg + lem.header.len, sizeof lem.msg - 1 - lem.header.len, "%s", "Some message."); + + lem.header.len += sizeof(dlogutil_entry_s); + lem.header.padding = 0; + + assert_entry("1,234,56789,-;Some message.\n _SOME_IRRELEVANT_TAG=BLA\n", &lem); + + lem.header.tag_len = snprintf(lem.msg, sizeof lem.msg - 1, "%s", "SYSLOG-UNKNOWN"); + lem.header.len = lem.header.tag_len + 1; + lem.header.len += 1 + snprintf(lem.msg + lem.header.len, sizeof lem.msg - 1 - lem.header.len, "%s", "Some message."); + lem.header.len += sizeof lem.header; + assert_entry("241,234,56789,-;Some message.\n _SOME_IRRELEVANT_TAG=BLA\n", &lem); + + return 0; +} -- 2.7.4