From 57d981f9d765286a85e682f7bee0769d7349e7aa Mon Sep 17 00:00:00 2001 From: "Biastoch, Darian (ADITG/ESM)" Date: Thu, 8 Apr 2021 06:36:18 +0000 Subject: Alternative solutions for json-c dependency json-c dependency was removed from libdlt ('dlt_common') and shifted into 'dlt-control-common'. By this only the command line tools have a dependency on json-c. dlt-control-common is now built as a static library, so that it can be linked against json-c. Command line tools that included only the .c file of dlt-control-common before, are now linked against this static libarary (see console/CMakeLists.txt). Signed-off-by: dbiastoch --- tests/gtest_dlt_json_filter.cpp | 78 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 tests/gtest_dlt_json_filter.cpp (limited to 'tests/gtest_dlt_json_filter.cpp') diff --git a/tests/gtest_dlt_json_filter.cpp b/tests/gtest_dlt_json_filter.cpp new file mode 100644 index 0000000..8cdd98a --- /dev/null +++ b/tests/gtest_dlt_json_filter.cpp @@ -0,0 +1,78 @@ +#include +#include +#include +#include + +extern "C" +{ + #include "dlt-control-common.h" + #include "dlt-daemon.h" +} + +/* Begin Method: dlt_common::dlt_message_print_ascii with json filter*/ +TEST(t_dlt_message_print_ascii_with_json_filter, normal) +{ + DltFile file; + DltFilter filter; + static char text[DLT_DAEMON_TEXTSIZE]; + + /* Get PWD so file can be used*/ + char pwd[100]; + char openfile[114]; + + /* ignore returned value from getcwd */ + if (getcwd(pwd, 100) == NULL) {} + + char openfilter[117]; + sprintf(openfile, "%s/testfile_extended.dlt", pwd); + sprintf(openfilter, "%s/testfilter.json", pwd); + /*---------------------------------------*/ + + /* Normal Use-Case, expect 0 */ + EXPECT_LE(DLT_RETURN_OK, dlt_file_init(&file, 0)); + EXPECT_LE(DLT_RETURN_OK, dlt_filter_init(&filter, 0)); + EXPECT_LE(DLT_RETURN_OK, dlt_json_filter_load(&filter, openfilter, 0)); + EXPECT_LE(DLT_RETURN_OK, dlt_file_set_filter(&file, &filter, 0)); + EXPECT_LE(DLT_RETURN_OK, dlt_file_open(&file, openfile, 0)); + + char tmp[DLT_ID_SIZE+1]; + strncpy(tmp, filter.apid[0], DLT_ID_SIZE); + tmp[DLT_ID_SIZE] = {}; + EXPECT_STREQ("LOG",tmp); + EXPECT_EQ(3,filter.log_level[0]); + EXPECT_EQ(0,filter.payload_min[0]); + EXPECT_EQ(INT32_MAX,filter.payload_max[0]); + + + strncpy(tmp, filter.apid[1], DLT_ID_SIZE); + EXPECT_STREQ("app",tmp); + strncpy(tmp, filter.ctid[1], DLT_ID_SIZE); + EXPECT_STREQ("",tmp); + + EXPECT_EQ(0,filter.log_level[2]); + EXPECT_EQ(20,filter.payload_min[2]); + EXPECT_EQ(50,filter.payload_max[2]); + + while (dlt_file_read(&file, 0) >= 0) {} + + for (int i = 0; i < file.counter; i++) { + EXPECT_LE(DLT_RETURN_OK, dlt_file_message(&file, i, 0)); + EXPECT_LE(DLT_RETURN_OK, dlt_message_print_ascii(&file.msg, text, DLT_DAEMON_TEXTSIZE, 0)); + } + + for (int i = 0; i < file.counter; i++) { + EXPECT_LE(DLT_RETURN_OK, dlt_file_message(&file, i, 0)); + EXPECT_LE(DLT_RETURN_OK, dlt_message_print_ascii(&file.msg, text, DLT_DAEMON_TEXTSIZE, 1)); + } + + EXPECT_LE(DLT_RETURN_OK, dlt_file_free(&file, 0)); +} +TEST(t_dlt_message_print_ascii_with_json_filter, abnormal) +{ + /* equal with t_dlt_message_print_ascii */ +} +TEST(t_dlt_message_print_ascii_with_json_filter, nullpointer) +{ + /* equal with t_dlt_message_print_ascii */ +} +/* End Method: dlt_common::dlt_message_print_ascii with json filter*/ -- cgit v1.2.1