In be5d88e1128 (test-tool run-command: learn to run (parts of) the testsuite, 2019-10-04) an init pattern was added that would use TESTSUITE_INIT, but then promptly memset() everything back to 0. We'd then set the "dup" on the two string lists. Our setting of "next" to "-1" thus did nothing, we'd reset it to "0" before using it. Let's set it to "0" instead, and trust the "STRING_LIST_INIT_DUP" to set "strdup_strings" appropriately for us. Note that while we compile this code, there's no in-tree user for the "testsuite" target being modified here anymore, see the discussion at and around <nycvar.QRO.7.76.6.2109091323150.59@xxxxxxxxxxxxxxxxx>[1]. 1. https://lore.kernel.org/git/nycvar.QRO.7.76.6.2109091323150.59@xxxxxxxxxxxxxxxxx/ Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- Range-diff against v1: 1: 0aa4523ab6e ! 1: 0ddf38b47ac test-tool run-command: fix confusing init pattern @@ Metadata Author: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> ## Commit message ## - test-tool run-command: fix confusing init pattern + test-tool run-command: fix flip-flop init pattern In be5d88e1128 (test-tool run-command: learn to run (parts of) the testsuite, 2019-10-04) an init pattern was added that would use TESTSUITE_INIT, but then promptly memset() everything back to 0. We'd - then set the "dup" on the two string lists. Our setting of "next" to - "-1" thus did nothing, we'd reset it to "0" before using it. + then set the "dup" on the two string lists. - Let's just use the init macro for the STRING_LIST members, we can then - remove the already redundant memset(). + Our setting of "next" to "-1" thus did nothing, we'd reset it to "0" + before using it. Let's set it to "0" instead, and trust the + "STRING_LIST_INIT_DUP" to set "strdup_strings" appropriately for us. Note that while we compile this code, there's no in-tree user for the "testsuite" target being modified here anymore, see the discussion at @@ Commit message Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> ## t/helper/test-run-command.c ## -@@ t/helper/test-run-command.c: static int task_finished(int result, - } - - struct testsuite { -- struct string_list tests, failed; -+ struct string_list tests; -+ struct string_list failed; - int next; +@@ t/helper/test-run-command.c: struct testsuite { int quiet, immediate, verbose, verbose_log, trace, write_junit_xml; }; --#define TESTSUITE_INIT \ + #define TESTSUITE_INIT \ - { STRING_LIST_INIT_DUP, STRING_LIST_INIT_DUP, -1, 0, 0, 0, 0, 0, 0 } -+#define TESTSUITE_INIT { \ -+ .tests = STRING_LIST_INIT_DUP, \ -+ .failed = STRING_LIST_INIT_DUP, \ -+} ++ { STRING_LIST_INIT_DUP, STRING_LIST_INIT_DUP, 0, 0, 0, 0, 0, 0, 0 } static int next_test(struct child_process *cp, struct strbuf *err, void *cb, void **task_cb) t/helper/test-run-command.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/t/helper/test-run-command.c b/t/helper/test-run-command.c index 7ae03dc7123..14c57365e76 100644 --- a/t/helper/test-run-command.c +++ b/t/helper/test-run-command.c @@ -61,7 +61,7 @@ struct testsuite { int quiet, immediate, verbose, verbose_log, trace, write_junit_xml; }; #define TESTSUITE_INIT \ - { STRING_LIST_INIT_DUP, STRING_LIST_INIT_DUP, -1, 0, 0, 0, 0, 0, 0 } + { STRING_LIST_INIT_DUP, STRING_LIST_INIT_DUP, 0, 0, 0, 0, 0, 0, 0 } static int next_test(struct child_process *cp, struct strbuf *err, void *cb, void **task_cb) @@ -142,9 +142,6 @@ static int testsuite(int argc, const char **argv) OPT_END() }; - memset(&suite, 0, sizeof(suite)); - suite.tests.strdup_strings = suite.failed.strdup_strings = 1; - argc = parse_options(argc, argv, NULL, options, testsuite_usage, PARSE_OPT_STOP_AT_NON_OPTION); -- 2.33.0.995.ga5ea46173a2