X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Fcommon_test.c;h=b364e432e7d613f4d33104df31e79de8b0a1861d;hb=6e188f0c56e953f2d34ade61363bc68d2495a4b2;hp=f18d9fdad41e14c7dc79f69d97f1f0533875ce3f;hpb=a6f29de68fe19614b0aa90e920e99d72cb0f4468;p=collectd.git diff --git a/src/daemon/common_test.c b/src/daemon/common_test.c index f18d9fda..b364e432 100644 --- a/src/daemon/common_test.c +++ b/src/daemon/common_test.c @@ -27,6 +27,10 @@ #include "common.h" #include "testing.h" +#if HAVE_KSTAT_H +#include +#endif + #if HAVE_LIBKSTAT kstat_ctl_t *kc; #endif /* HAVE_LIBKSTAT */ @@ -55,28 +59,7 @@ DEF_TEST(sstrncpy) { EXPECT_EQ_STR("collect", ptr); OK(buffer[3] == buffer[12]); - return (0); -} - -DEF_TEST(ssnprintf) { - char buffer[16] = ""; - char *ptr = &buffer[4]; - int status; - - buffer[0] = buffer[1] = buffer[2] = buffer[3] = 0xff; - buffer[12] = buffer[13] = buffer[14] = buffer[15] = 0xff; - - status = ssnprintf(ptr, 8, "%i", 1337); - OK(status == 4); - EXPECT_EQ_STR("1337", ptr); - - status = ssnprintf(ptr, 8, "%s", "collectd"); - OK(status == 8); - OK(ptr[7] == 0); - EXPECT_EQ_STR("collect", ptr); - OK(buffer[3] == buffer[12]); - - return (0); + return 0; } DEF_TEST(sstrdup) { @@ -91,7 +74,7 @@ DEF_TEST(sstrdup) { ptr = sstrdup(NULL); OK(ptr == NULL); - return (0); + return 0; } DEF_TEST(strsplit) { @@ -141,7 +124,7 @@ DEF_TEST(strsplit) { status = strsplit(buffer, fields, 8); OK(status == 0); - return (0); + return 0; } DEF_TEST(strjoin) { @@ -185,12 +168,14 @@ DEF_TEST(strjoin) { cases[i].fields_num, cases[i].separator); EXPECT_EQ_INT(cases[i].want_return, status); EXPECT_EQ_STR(cases[i].want_buffer, buffer); - } - /* use (NULL, 0) to determine required buffer size. */ - EXPECT_EQ_INT(3, strjoin(NULL, 0, (char *[]){"a", "b"}, 2, "-")); + /* use (NULL, 0) to determine required buffer size. */ + EXPECT_EQ_INT(cases[i].want_return, + strjoin(NULL, 0, cases[i].fields, cases[i].fields_num, + cases[i].separator)); + } - return (0); + return 0; } DEF_TEST(escape_slashes) { @@ -205,9 +190,9 @@ DEF_TEST(escape_slashes) { }; for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) { - char buffer[32]; + char buffer[32] = {0}; - strncpy(buffer, cases[i].str, sizeof(buffer)); + strncpy(buffer, cases[i].str, sizeof(buffer) - 1); OK(escape_slashes(buffer, sizeof(buffer)) == 0); EXPECT_EQ_STR(cases[i].want, buffer); } @@ -230,9 +215,9 @@ DEF_TEST(escape_string) { }; for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) { - char buffer[16]; + char buffer[16] = {0}; - strncpy(buffer, cases[i].str, sizeof(buffer)); + strncpy(buffer, cases[i].str, sizeof(buffer) - 1); OK(escape_string(buffer, sizeof(buffer)) == 0); EXPECT_EQ_STR(cases[i].want, buffer); } @@ -241,33 +226,33 @@ DEF_TEST(escape_string) { } DEF_TEST(strunescape) { - char buffer[16]; + char buffer[32] = {0}; int status; - strncpy(buffer, "foo\\tbar", sizeof(buffer)); + strncpy(buffer, "foo\\tbar", sizeof(buffer) - 1); status = strunescape(buffer, sizeof(buffer)); OK(status == 0); EXPECT_EQ_STR("foo\tbar", buffer); - strncpy(buffer, "\\tfoo\\r\\n", sizeof(buffer)); + strncpy(buffer, "\\tfoo\\r\\n", sizeof(buffer) - 1); status = strunescape(buffer, sizeof(buffer)); OK(status == 0); EXPECT_EQ_STR("\tfoo\r\n", buffer); - strncpy(buffer, "With \\\"quotes\\\"", sizeof(buffer)); + strncpy(buffer, "With \\\"quotes\\\"", sizeof(buffer) - 1); status = strunescape(buffer, sizeof(buffer)); OK(status == 0); EXPECT_EQ_STR("With \"quotes\"", buffer); /* Backslash before null byte */ - strncpy(buffer, "\\tbackslash end\\", sizeof(buffer)); + strncpy(buffer, "\\tbackslash end\\", sizeof(buffer) - 1); status = strunescape(buffer, sizeof(buffer)); OK(status != 0); EXPECT_EQ_STR("\tbackslash end", buffer); - return (0); + return 0; /* Backslash at buffer end */ - strncpy(buffer, "\\t3\\56", sizeof(buffer)); + strncpy(buffer, "\\t3\\56", sizeof(buffer) - 1); status = strunescape(buffer, 4); OK(status != 0); OK(buffer[0] == '\t'); @@ -278,7 +263,7 @@ DEF_TEST(strunescape) { OK(buffer[5] == '6'); OK(buffer[6] == '7'); - return (0); + return 0; } DEF_TEST(parse_values) { @@ -295,10 +280,15 @@ DEF_TEST(parse_values) { for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) { data_source_t dsrc = { - .name = "value", .type = DS_TYPE_GAUGE, .min = 0.0, .max = NAN, + .name = "value", + .type = DS_TYPE_GAUGE, + .min = 0.0, + .max = NAN, }; data_set_t ds = { - .type = "example", .ds_num = 1, .ds = &dsrc, + .type = "example", + .ds_num = 1, + .ds = &dsrc, }; value_t v = { @@ -323,7 +313,7 @@ DEF_TEST(parse_values) { EXPECT_EQ_DOUBLE(cases[i].value, vl.values[0].gauge); } - return (0); + return 0; } DEF_TEST(value_to_rate) { @@ -359,7 +349,8 @@ DEF_TEST(value_to_rate) { for (size_t i = 0; i < STATIC_ARRAY_SIZE(cases); i++) { cdtime_t t0 = TIME_T_TO_CDTIME_T(cases[i].t0); value_to_rate_state_t state = { - .last_value = cases[i].v0, .last_time = t0, + .last_value = cases[i].v0, + .last_time = t0, }; gauge_t got; @@ -380,7 +371,6 @@ DEF_TEST(value_to_rate) { int main(void) { RUN_TEST(sstrncpy); - RUN_TEST(ssnprintf); RUN_TEST(sstrdup); RUN_TEST(strsplit); RUN_TEST(strjoin);