summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorStefan Held <stefan_held@mentor.com>2015-04-30 16:28:18 +0200
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>2015-06-17 08:50:31 +0200
commitd8c351259b1770ee75c90c8633ba8884a3b8813e (patch)
tree46650e7a4d5239e57c9a128491b9137fadc8d965 /tests
parent943447973b610a61a6437a8639fa7d38e369c7a2 (diff)
downloadDLT-daemon-d8c351259b1770ee75c90c8633ba8884a3b8813e.tar.gz
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 <stefan_held@mentor.com> Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/gtest_dlt_common.cpp449
1 files changed, 428 insertions, 21 deletions
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 <stdio.h>
-#include "gtest/gtest.h"
+#include <gtest/gtest.h>
#include <limits.h>
extern "C" {
@@ -11,6 +11,7 @@ extern "C" {
#include "dlt_user_cfg.h"
#include "dlt_client.h"
#include <syslog.h>
+#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<strlen(text1);i+=3)
+ {
+ char tmp[2];
+ tmp[0] = text1[i];
+ tmp[1] = text1[i+1];
+ char k = (int) strtol(tmp, NULL, 16);
+ converted[i-t] = k;
+ t +=2;
+ }
+ converted[strlen(test1)] = '\0';
+ //printf("%s\n", converted);
+ EXPECT_STREQ(test1, converted);
+
+ const char * test2 = "qwertzuiopasdfghjklyxcvbnm1234567890";
+ char text2[DLT_DAEMON_TEXTSIZE];
+ EXPECT_EQ(0, dlt_print_hex_string(text2,DLT_DAEMON_TEXTSIZE,(unsigned char *)test2, strlen(test2)));
+ //printf("text:%s\n", text2);
+ // convert text2 to an ascii string to compare with the original
+ converted = (char*) malloc(strlen(test2) +1);
+ t = 0;
+ for(unsigned int i=0;i<strlen(text2);i+=3)
+ {
+ char tmp[2];
+ tmp[0] = text2[i];
+ tmp[1] = text2[i+1];
+ char k = (int) strtol(tmp, NULL, 16);
+ converted[i-t] = k;
+ t +=2;
+ }
+ converted[strlen(test2)] = '\0';
+ //printf("%s\n", converted);
+ EXPECT_STREQ(test2, converted);
+}
+TEST(t_dlt_print_hex_string, abnormal)
+{
+ // print special characters, expected 0
+ const char * test3 = "^°!\"§$%&/()=?`´¹²³¼½¬{[]}\\¸@€üöä+#*'~`,.-;:_·…–<>|";
+ 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<strlen(text3);i+=3)
+ {
+ char tmp[2];
+ tmp[0] = text3[i];
+ tmp[1] = text3[i+1];
+ char k = (int) strtol(tmp, NULL, 16);
+ converted[i-t] = k;
+ t +=2;
+ }
+ converted[strlen(test3)] = '\0';
+ //printf("%s\n", converted);
+ EXPECT_STREQ(test3, converted);
+
+ // Empty char *, expect 0
+ const char * test4 = "";
+ char text4[DLT_DAEMON_TEXTSIZE];
+ EXPECT_EQ(0, dlt_print_hex_string(text4,DLT_DAEMON_TEXTSIZE,(unsigned char *)test4, strlen(test4)));
+ //printf("text:%s\n", text4);
+ // convert text4 to an ascii string to compare with the original
+ converted = (char*) malloc(strlen(test4) +1);
+ t = 0;
+ for(unsigned int i=0;i<strlen(text4);i+=3)
+ {
+ char tmp[2];
+ tmp[0] = text4[i];
+ tmp[1] = text4[i+1];
+ char k = (int) strtol(tmp, NULL, 16);
+ converted[i-t] = k;
+ t +=2;
+ }
+ converted[strlen(test4)] = '\0';
+ //printf("%s\n", converted);
+ EXPECT_STREQ(test4, converted);
+}
+TEST(t_dlt_print_hex_string, nullpointer)
+{
+ const char * test5 = "HELLO";
+ char text5[DLT_DAEMON_TEXTSIZE];
+
+ EXPECT_EQ(-1, dlt_print_hex_string(NULL,0,NULL, 0));
+ EXPECT_EQ(-1, dlt_print_hex_string(NULL,0,(unsigned char *)test5, 0));
+ EXPECT_EQ(-1, dlt_print_hex_string(text5,0,NULL, 0));
+}
+/* End Method:dlt_common::dlt_print_hex_string */
+
+
+
+
+/* Begin Method:dlt_common::dlt_print_mixed_string */
+TEST(t_dlt_print_mixed_string, normal)
+{
+ const char * test1 = "HELLO_MIXED";
+ char text1[DLT_DAEMON_TEXTSIZE];
+ EXPECT_EQ(0, dlt_print_mixed_string(text1,DLT_DAEMON_TEXTSIZE,(unsigned char *)test1,strlen(test1),0));
+ printf("%s\n", text1);
+
+ const char * test2 = "HELLO_MIXED";
+ char text2[DLT_DAEMON_TEXTSIZE];
+ EXPECT_EQ(0, dlt_print_mixed_string(text2,DLT_DAEMON_TEXTSIZE,(unsigned char *)test2,strlen(test2),1));
+ printf("%s\n", text2);
+
+ const char * test3 = "qwertzuiopasdfghjklyxcvbnm1234567890";
+ char text3[DLT_DAEMON_TEXTSIZE];
+ EXPECT_EQ(0, dlt_print_mixed_string(text3,DLT_DAEMON_TEXTSIZE,(unsigned char *)test3,strlen(test3),0));
+ printf("%s\n", text3);
+
+ const char * test4 = "qwertzuiopasdfghjklyxcvbnm1234567890";
+ char text4[DLT_DAEMON_TEXTSIZE];
+ EXPECT_EQ(0, dlt_print_mixed_string(text4,DLT_DAEMON_TEXTSIZE,(unsigned char *)test4,strlen(test4),1));
+ printf("%s\n", text4);
+}
+TEST(t_dlt_print_mixed_string, abnormal)
+{
+ const char * test5 = "^°!\"§$%&/()=?`´¹²³¼½¬{[]}\\¸@€üöä+#*'~`,.-;:_·…–<>|";
+ 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();
}