X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Funit%2Ftest_string_utils.c;h=1d61bc41fbfc8e4c3dae3a2d0c52dca054fe4560;hb=e358ddd51a5be6017f524523ac10d7c17fb78f65;hp=c60168a9e0c7bacfd9887b0228991a2894016948;hpb=3f322f1a1a1ce2fc1354699f11ac483d7a3cd5fc;p=lttng-tools.git diff --git a/tests/unit/test_string_utils.c b/tests/unit/test_string_utils.c index c60168a9e..1d61bc41f 100644 --- a/tests/unit/test_string_utils.c +++ b/tests/unit/test_string_utils.c @@ -1,18 +1,8 @@ /* - * Copyright (c) - 2017 Philippe Proulx + * Copyright (C) 2017 Philippe Proulx * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by as - * published by the Free Software Foundation; only version 2 of the License. + * SPDX-License-Identifier: GPL-2.0-only * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include @@ -26,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)