X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Funit%2Ftest_string_utils.c;h=1d61bc41fbfc8e4c3dae3a2d0c52dca054fe4560;hp=b11091637298b4b549ab2888077c47a5c2e78ed8;hb=f78de77303b769dd48ad8c6c6bf78ed7bee74fd6;hpb=cd46061a32b73d2986a12b396ac2c74c6b6c0ade diff --git a/tests/unit/test_string_utils.c b/tests/unit/test_string_utils.c index b11091637..1d61bc41f 100644 --- a/tests/unit/test_string_utils.c +++ b/tests/unit/test_string_utils.c @@ -16,38 +16,49 @@ /* Number of TAP tests in this file */ #define NUM_TESTS 69 +/* For error.h */ +int lttng_opt_quiet = 1; +int lttng_opt_verbose; +int lttng_opt_mi; + static void test_one_split(const char *input, char delim, int escape_delim, ...) { va_list vl; - char **substrings; - char * const *substring; bool all_ok = true; + struct lttng_dynamic_pointer_array strings; + int split_ret; + size_t i, string_count; - substrings = strutils_split(input, delim, escape_delim); - assert(substrings); + split_ret = strutils_split(input, delim, escape_delim, &strings); + assert(split_ret == 0); va_start(vl, escape_delim); - for (substring = substrings; *substring; substring++) { + string_count = lttng_dynamic_pointer_array_get_count(&strings); + + for (i = 0; i < string_count; i++) { const char *expected_substring = va_arg(vl, const char *); + const char *substring = + lttng_dynamic_pointer_array_get_pointer( + &strings, i); - diag(" got `%s`, expecting `%s`", *substring, expected_substring); + diag(" got `%s`, expecting `%s`", substring, expected_substring); if (!expected_substring) { all_ok = false; break; } - if (strcmp(*substring, expected_substring) != 0) { + if (strcmp(substring, expected_substring) != 0) { all_ok = false; break; } } - strutils_free_null_terminated_array_of_strings(substrings); + lttng_dynamic_pointer_array_reset(&strings); va_end(vl); ok(all_ok, "strutils_split() produces the expected substrings: `%s` (delim. `%c`, escape `%d`)", - input, delim, escape_delim); + input, delim, escape_delim); } static void test_split(void)