u-string-list: move "remove duplicates" test to "u-string-list.c"
We use "test-tool string-list remove_duplicates" to test the
"string_list_remove_duplicates" function. As we have introduced the unit
test, we'd better remove the logic from shell script to C program to
improve test speed and readability.
As all the tests in shell script are removed, let's just delete the
"t0063-string-list.sh" and update the "meson.build" file to align with
this change.
Also we could simply remove "DISABLE_SIGN_COMPARE_WARNINGS" due to we
have already deleted related code.
Unfortunately, we cannot totally remove "test-string-list.c" due to that
we would test the performance of sorting about string list by executing
"test-tool string-list sort" in "p0071-sort.sh".
Signed-off-by: shejialuo <shejialuo@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
shejialuo committedJun 29, 2025 at 12:28 UTC6e5b26c3ff639211147ccb2b1ca681c768b8db11
4 files changed+62-67
t/helper/test-string-list.c
-39
index 262b28c599..6be0cdb8e2 100644--- a/t/helper/test-string-list.c+++ b/t/helper/test-string-list.c@@ -1,48 +1,9 @@-#define DISABLE_SIGN_COMPARE_WARNINGS- #include "test-tool.h" #include "strbuf.h" #include "string-list.h"-/*- * Parse an argument into a string list. arg should either be a- * ':'-separated list of strings, or "-" to indicate an empty string- * list (as opposed to "", which indicates a string list containing a- * single empty string). list->strdup_strings must be set.- */-static void parse_string_list(struct string_list *list, const char *arg)-{- if (!strcmp(arg, "-"))- return;-- (void)string_list_split(list, arg, ':', -1);-}--static void write_list_compact(const struct string_list *list)-{- int i;- if (!list->nr)- printf("-\n");- else {- printf("%s", list->items[0].string);- for (i = 1; i < list->nr; i++)- printf(":%s", list->items[i].string);- printf("\n");- }-}- int cmd__string_list(int argc, const char **argv) {- if (argc == 3 && !strcmp(argv[1], "remove_duplicates")) {- struct string_list list = STRING_LIST_INIT_DUP;-- parse_string_list(&list, argv[2]);- string_list_remove_duplicates(&list, 0);- write_list_compact(&list);- string_list_clear(&list, 0);- return 0;- }- if (argc == 2 && !strcmp(argv[1], "sort")) { struct string_list list = STRING_LIST_INIT_NODUP; struct strbuf sb = STRBUF_INIT;