X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Fcommon_test.c;h=b364e432e7d613f4d33104df31e79de8b0a1861d;hb=6e188f0c56e953f2d34ade61363bc68d2495a4b2;hp=4d2ccaa338d22b31a76d599a94c610b267f5263f;hpb=4eca75de34e9c3d7f2391b9c7a5951a27a713804;p=collectd.git diff --git a/src/daemon/common_test.c b/src/daemon/common_test.c index 4d2ccaa3..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 */ @@ -164,10 +168,12 @@ 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; } @@ -184,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); } @@ -209,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); } @@ -220,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; /* 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'); @@ -274,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 = { @@ -338,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;