From d8c351259b1770ee75c90c8633ba8884a3b8813e Mon Sep 17 00:00:00 2001 From: Stefan Held Date: Thu, 30 Apr 2015 16:28:18 +0200 Subject: added the following unit tests for dlt_common.c dlt_uptime dlt_set_id dlt_print_char_string dlt_print_hex_string dlt_print_mixed_string dlt_print_id dlt_get_version dlt_get_major_version dlt_get_minor_version Signed-off-by: Stefan Held Signed-off-by: Alexander Wenzel --- tests/gtest_dlt_common.cpp | 449 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 428 insertions(+), 21 deletions(-) (limited to 'tests/gtest_dlt_common.cpp') diff --git a/tests/gtest_dlt_common.cpp b/tests/gtest_dlt_common.cpp index 1cabd55..0495d38 100644 --- a/tests/gtest_dlt_common.cpp +++ b/tests/gtest_dlt_common.cpp @@ -1,5 +1,5 @@ #include -#include "gtest/gtest.h" +#include #include extern "C" { @@ -11,6 +11,7 @@ extern "C" { #include "dlt_user_cfg.h" #include "dlt_client.h" #include +#include "dlt_version.h" int dlt_buffer_increase_size(DltBuffer *); int dlt_buffer_minimize_size(DltBuffer *); int dlt_buffer_reset(DltBuffer *); @@ -3266,32 +3267,42 @@ TEST(t_dlt_log, normal) // #define LOG_INFO 6 // #define LOG_DEBUG 7 + const char * EMERG = "SYSLOG EMERG\n"; + const char * ALERT = "SYSLOG ALERT\n"; + const char * CRIT = "SYSLOG CRIT\n"; + const char * ERR = "SYSLOG ERR\n"; + const char * WARNING = "SYSLOG WARNING\n"; + const char * NOTICE = "SYSLOG NOTICE\n"; + const char * INFO = "SYSLOG INFO\n"; + const char * DEBUG = "SYSLOG DEBUG\n"; + // Normal Use-Case, expected 0 dlt_log_init(DLT_LOG_TO_CONSOLE); - EXPECT_EQ(0, dlt_log(LOG_EMERG, "SYSLOG EMERG\n")); - EXPECT_EQ(0, dlt_log(LOG_ALERT, "SYSLOG ALERT\n")); - EXPECT_EQ(0, dlt_log(LOG_CRIT, "SYSLOG CRIT\n")); - EXPECT_EQ(0, dlt_log(LOG_ERR, "SYSLOG ERR\n")); - EXPECT_EQ(0, dlt_log(LOG_WARNING, "SYSLOG WARNING\n")); - EXPECT_EQ(0, dlt_log(LOG_NOTICE, "SYSLOG NOTICE\n")); - EXPECT_EQ(0, dlt_log(LOG_INFO, "SYSLOG INFO\n")); - EXPECT_EQ(0, dlt_log(LOG_DEBUG, "SYSLOG DEBUG\n")); + EXPECT_EQ(0, dlt_log(LOG_EMERG, (char *) EMERG)); + EXPECT_EQ(0, dlt_log(LOG_ALERT, (char *) ALERT)); + EXPECT_EQ(0, dlt_log(LOG_CRIT, (char *) CRIT)); + EXPECT_EQ(0, dlt_log(LOG_ERR, (char *) ERR)); + EXPECT_EQ(0, dlt_log(LOG_WARNING, (char *) WARNING)); + EXPECT_EQ(0, dlt_log(LOG_NOTICE, (char *) NOTICE)); + EXPECT_EQ(0, dlt_log(LOG_INFO, (char *) INFO)); + EXPECT_EQ(0, dlt_log(LOG_DEBUG, (char *) DEBUG)); dlt_log_init(DLT_LOG_DROPPED); - EXPECT_EQ(0, dlt_log(LOG_EMERG, "SYSLOG EMERG\n")); - EXPECT_EQ(0, dlt_log(LOG_ALERT, "SYSLOG ALERT\n")); - EXPECT_EQ(0, dlt_log(LOG_CRIT, "SYSLOG CRIT\n")); - EXPECT_EQ(0, dlt_log(LOG_ERR, "SYSLOG ERR\n")); - EXPECT_EQ(0, dlt_log(LOG_WARNING, "SYSLOG WARNING\n")); - EXPECT_EQ(0, dlt_log(LOG_NOTICE, "SYSLOG NOTICE\n")); - EXPECT_EQ(0, dlt_log(LOG_INFO, "SYSLOG INFO\n")); - EXPECT_EQ(0, dlt_log(LOG_DEBUG, "SYSLOG DEBUG\n")); + EXPECT_EQ(0, dlt_log(LOG_EMERG, (char *) EMERG)); + EXPECT_EQ(0, dlt_log(LOG_ALERT, (char *) ALERT)); + EXPECT_EQ(0, dlt_log(LOG_CRIT, (char *) CRIT)); + EXPECT_EQ(0, dlt_log(LOG_ERR, (char *) ERR)); + EXPECT_EQ(0, dlt_log(LOG_WARNING, (char *) WARNING)); + EXPECT_EQ(0, dlt_log(LOG_NOTICE, (char *) NOTICE)); + EXPECT_EQ(0, dlt_log(LOG_INFO, (char *) INFO)); + EXPECT_EQ(0, dlt_log(LOG_DEBUG, (char *) DEBUG)); } TEST(t_dlt_log, abnormal) { // LOG MODE don't exists, expected -1 int DLT_LOG_DONT_EXISTS = 123456789; - EXPECT_GE(-1, dlt_log(DLT_LOG_DONT_EXISTS, "SYSLOG DONT EXISTS\n")); + const char * EXIST = "SYSLOG DONT EXISTS\n"; + EXPECT_GE(-1, dlt_log(DLT_LOG_DONT_EXISTS, (char *) EXIST)); } TEST(t_dlt_log, nullpointer) { @@ -3303,11 +3314,407 @@ TEST(t_dlt_log, nullpointer) +/*##############################################################################################################################*/ +/*##############################################################################################################################*/ +/*##############################################################################################################################*/ + + + +/* Begin Method:dlt_common::dlt_uptime */ +TEST(t_dlt_uptime, normal) +{ + EXPECT_LE(1, dlt_uptime()); +} +TEST(t_dlt_uptime, abnormal) +{ + +} +TEST(t_dlt_uptime, nullpointer) +{ + +} +/* End Method:dlt_common::dlt_uptime */ + + + + +/* Begin Method:dlt_common::dlt_set_id */ +TEST(t_dlt_set_id, normal) +{ + char id[4]; + const char * text = "DLTD"; + dlt_set_id(id, text); + EXPECT_STREQ(text, id); +} +TEST(t_dlt_set_id, abnormal) +{ + char id[10]; + const char * text = "1234567890"; + dlt_set_id(id, text); + EXPECT_STRNE(text, id); +} +TEST(t_dlt_set_id, nullpointer) +{ + char id[4]; + const char * text = "TEST"; + + dlt_set_id(NULL, NULL); + dlt_set_id(NULL, text); + dlt_set_id(id, NULL); +} +/* End Method:dlt_common::dlt_set_id */ + + + + +/* Begin Method:dlt_common::dlt_print_hex_string */ +TEST(t_dlt_print_hex_string, normal) +{ + // Normal Use-Case, exptect 0 + const char * test1 = "HELLO_HEX"; + char text1[DLT_DAEMON_TEXTSIZE]; + EXPECT_EQ(0, dlt_print_hex_string(text1, DLT_DAEMON_TEXTSIZE, (unsigned char *)test1, strlen(test1))); + //printf("text:%s\n", text1); + // convert text1 to an ascii string to compare with the original + char * converted = (char*) malloc(strlen(test1) +1); + int t = 0; + for(unsigned int i=0;i|"; + char text3[DLT_DAEMON_TEXTSIZE]; + EXPECT_EQ(0, dlt_print_hex_string(text3,DLT_DAEMON_TEXTSIZE,(unsigned char *)test3, strlen(test3))); + //printf("text:%s\n", text3); + // convert text3 to an ascii string to compare with the original + char * converted = (char*) malloc(strlen(test3) +1); + int t = 0; + for(unsigned int i=0;i|"; + char text5[DLT_DAEMON_TEXTSIZE]; + EXPECT_EQ(0, dlt_print_mixed_string(text5,DLT_DAEMON_TEXTSIZE,(unsigned char *)test5,strlen(test5),0)); + printf("%s\n", text5); + + const char * test6 = "^°!\"§$%&/()=?`´¹²³¼½¬{[]}\\¸@€üöä+#*'~`,.-;:_·…–<>|"; + char text6[DLT_DAEMON_TEXTSIZE]; + EXPECT_EQ(0, dlt_print_mixed_string(text6,DLT_DAEMON_TEXTSIZE,(unsigned char *)test6,strlen(test6),1)); + printf("%s\n", text6); + + const char * test7 = ""; + char text7[DLT_DAEMON_TEXTSIZE]; + EXPECT_EQ(0, dlt_print_mixed_string(text7,DLT_DAEMON_TEXTSIZE,(unsigned char *)test7,strlen(test7),0)); + printf("%s\n", text7); + + const char * test8 = ""; + char text8[DLT_DAEMON_TEXTSIZE]; + EXPECT_EQ(0, dlt_print_mixed_string(text8,DLT_DAEMON_TEXTSIZE,(unsigned char *)test8,strlen(test8),1)); + printf("%s\n", text8); +} +TEST(t_dlt_print_mixed_string, nullpointer) +{ + const char * test9 = ""; + char text9[DLT_DAEMON_TEXTSIZE]; + + EXPECT_GE(-1, dlt_print_mixed_string(NULL,0,0,0,0)); + EXPECT_GE(-1, dlt_print_mixed_string(NULL,0,0,0,1)); + EXPECT_GE(-1, dlt_print_mixed_string(NULL,0,(unsigned char *)test9,0,0)); + EXPECT_GE(-1, dlt_print_mixed_string(NULL,0,(unsigned char *)test9,0,1)); + EXPECT_GE(-1, dlt_print_mixed_string(text9,0,NULL,0,0)); + EXPECT_GE(-1, dlt_print_mixed_string(text9,0,NULL,0,1)); +} +/* End Method:dlt_common::dlt_print_mixed_string */ + + + + +/* Begin Method:dlt_common::dlt_print_char_string */ +TEST(t_dlt_print_char_string, normal) +{ + // Normal Use-Case, expect 0 + const char * test1 = "HELLO"; + char text1[DLT_DAEMON_TEXTSIZE]; + char * ptr1 = text1; + EXPECT_EQ(0, dlt_print_char_string(&ptr1,DLT_DAEMON_TEXTSIZE,(unsigned char *)test1, strlen(test1))); + printf("text:%s\n", text1); + EXPECT_STREQ(text1, test1); + + const char * test2 = "qwertzuiopasdfghjklyxcvbnm1234567890"; + char text2[DLT_DAEMON_TEXTSIZE]; + char * ptr2 = text2; + EXPECT_EQ(0, dlt_print_char_string(&ptr2,DLT_DAEMON_TEXTSIZE,(unsigned char *)test2, strlen(test2))); + printf("text:%s\n", text2); + EXPECT_STREQ(text2, test2); +} +TEST(t_dlt_print_char_string, abnormal) +{ + // print special characters, expected 0 + const char * test3 = "^°!\"§$%&/()=?`´¹²³¼½¬{[]}\\¸@€üöä+#*'~`,.-;:_·…–<>|"; + char text3[DLT_DAEMON_TEXTSIZE]; + char * ptr3 = text3; + EXPECT_EQ(0, dlt_print_char_string(&ptr3,DLT_DAEMON_TEXTSIZE,(unsigned char *)test3, strlen(test3))); + printf("text:%s\n", text3); + EXPECT_STREQ(text3, test3); + + // Empty char *, expect 0 + const char * test4 = ""; + char text4[DLT_DAEMON_TEXTSIZE]; + char * ptr4 = text4; + EXPECT_EQ(0, dlt_print_char_string(&ptr4,DLT_DAEMON_TEXTSIZE,(unsigned char *)test4, strlen(test4))); + printf("text:%s\n", text4); + EXPECT_STREQ(text4, test4); +} +TEST(t_dlt_print_char_string, nullpointer) +{ + const char * test5 = "HELLO"; + char text5[DLT_DAEMON_TEXTSIZE]; + char * ptr5 = text5; + + EXPECT_EQ(-1, dlt_print_char_string(NULL,0,NULL, 0)); + EXPECT_EQ(-1, dlt_print_char_string(NULL,0,(unsigned char *)test5, 0)); + EXPECT_EQ(-1, dlt_print_char_string(&ptr5,0,NULL, 0)); +} +/* End Method:dlt_common::dlt_print_char_string */ + + + + +/* Begin Method:dlt_common::dlt_print_id */ +TEST(t_dlt_print_id, normal) +{ + // Normal Use-Case, expect text==id + const char* id = "DLTD"; + char text[DLT_DAEMON_TEXTSIZE]; + dlt_print_id(text,id); + EXPECT_STREQ(text,id); +} +TEST(t_dlt_print_id, abnormal) +{ + // id to long, expect only first 4 chars + const char* id = "DLTD123456789"; + char text[DLT_DAEMON_TEXTSIZE]; + dlt_print_id(text,id); + EXPECT_STREQ(text,"DLTD"); + + // id to short, expect expend with "-" to 4 chars + id = "DL"; + dlt_print_id(text,id); + EXPECT_STREQ(text,"DL--"); +} +TEST(t_dlt_print_id, nullpointer) +{ + const char* id = "DLTD"; + char text[DLT_DAEMON_TEXTSIZE]; + + // NULL-Pointer, expected nothing in return + dlt_print_id(NULL,NULL); + dlt_print_id(NULL, id); + dlt_print_id(text, NULL); +} +/* End Method:dlt_common::dlt_print_id */ + + + + +/* Begin Method:dlt_common::dlt_get_version */ +TEST(t_dlt_get_version, normal) +{ + // Normal Use-Case + char ver[255]; + dlt_get_version(ver, 255); + printf("%s\n", ver); +} +TEST(t_dlt_get_version, abnormal) +{ + // Change default length of ver to 1 + char ver[1]; + dlt_get_version(ver, DLT_USER_MAX_LIB_VERSION_LENGTH); + printf("%s\n", ver); + + // Change default length of ver to 1 and reduce second para to 1, too + dlt_get_version(ver, 1); + printf("%s\n", ver); +} +TEST(t_dlt_get_version, nullpointer) +{ + dlt_get_version(NULL, 0); +} +/* End Method:dlt_common::dlt_get_version */ + + + + +/* Begin Method:dlt_common::dlt_get_major_version */ +TEST(dlt_get_major_version, normal) +{ + char ver[DLT_USER_MAX_LIB_VERSION_LENGTH]; + dlt_get_major_version(ver, DLT_USER_MAX_LIB_VERSION_LENGTH); + EXPECT_STREQ(ver, _DLT_PACKAGE_MAJOR_VERSION); +} +TEST(dlt_get_major_version, abnormal) +{ + // Change default length of ver to 1 + char ver[1]; + dlt_get_major_version(ver, DLT_USER_MAX_LIB_VERSION_LENGTH); + EXPECT_STREQ(ver, _DLT_PACKAGE_MAJOR_VERSION); + + // Change default length of ver to 1 and reduce second para to 1, too + dlt_get_major_version(ver, 1); + EXPECT_STREQ(ver, _DLT_PACKAGE_MAJOR_VERSION); +} +TEST(dlt_get_major_version, nullpointer) +{ + // NULL-Pointer, expect exeption + dlt_get_major_version(NULL, 0); // work, but shouldn't +} +/* End Method:dlt_common::dlt_get_major_version */ + + + + +/* Begin Method:dlt_common::dlt_get_minor_version */ +TEST(dlt_get_minor_version, normal) +{ + char ver[DLT_USER_MAX_LIB_VERSION_LENGTH]; + dlt_get_minor_version(ver, DLT_USER_MAX_LIB_VERSION_LENGTH); + EXPECT_STREQ(ver, _DLT_PACKAGE_MINOR_VERSION); +} +TEST(dlt_get_minor_version, abnormal) +{ + // Change default length of ver to 1 + char ver[1]; + dlt_get_minor_version(ver, DLT_USER_MAX_LIB_VERSION_LENGTH); + EXPECT_STREQ(ver, _DLT_PACKAGE_MINOR_VERSION); + + // Change default length of ver to 1 and reduce second para to 1, too + dlt_get_minor_version(ver, 1); + EXPECT_STREQ(ver, _DLT_PACKAGE_MINOR_VERSION); +} +TEST(dlt_get_minor_version, nullpointer) +{ + // NULL-Pointer, expect exeption + dlt_get_minor_version(NULL, 0); // work, but shouldn't +} +/* End Method:dlt_common::dlt_get_minor_version */ + + + + +/*##############################################################################################################################*/ +/*##############################################################################################################################*/ +/*##############################################################################################################################*/ + + + + int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); - //::testing::FLAGS_gtest_break_on_failure = true; - //::testing::FLAGS_gtest_repeat = 10000; - //::testing::FLAGS_gtest_filter = "t_dlt_log.nullpointer"; + ::testing::FLAGS_gtest_break_on_failure = true; + ::testing::FLAGS_gtest_repeat = 10000; + ::testing::FLAGS_gtest_filter = "*.normal"; return RUN_ALL_TESTS(); } -- cgit v1.2.1