[PATCH v2] test-tool run-command: fix flip-flop init pattern
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Sep 11, 2021, 18:26 UTC
- Message-ID
- <patch-v2-1.1-0ddf38b47ac-20210911T182631Z-avarab@gmail.com>
- In-Reply-To
- <patch-1.1-0aa4523ab6e-20210909T130849Z-avarab@gmail.com>
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@tvgsbejvaqbjf.bet>[1].
1. https://lore.kernel.org/git/nycvar.QRO.7.76.6.2109091323150.59@tvgsbejvaqbjf.bet/
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
Range-diff against v1:
1: 0aa4523ab6e ! 1: 0ddf38b47ac test-tool run-command: fix confusing init pattern
@@ Metadata
Author: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
## 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@gmail.com>
## 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