All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] test-tool run-command: remove dead "testsuite" code
@ 2021-09-06  0:37 Ævar Arnfjörð Bjarmason
  2021-09-07 20:26 ` Junio C Hamano
  2021-09-07 21:41 ` [PATCH] test-tool run-command: remove dead "testsuite" code Johannes Schindelin
  0 siblings, 2 replies; 10+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2021-09-06  0:37 UTC (permalink / raw)
  To: git
  Cc: Junio C Hamano, Sibi Siddharthan, Johannes Schindelin,
	Ævar Arnfjörð Bjarmason

Remove the "test-tool run-command testsuite" sub-sub-command, it has
not been used since 4c2c38e800f (ci: modification of main.yml to use
cmake for vs-build job, 2020-06-26), see also the earlier
6081d3898fe (ci: retire the Azure Pipelines definition, 2020-04-11)
for another phasing out of the command.

This the "testsuite" functionality here was added in
be5d88e1128 (test-tool run-command: learn to run (parts of) the
testsuite, 2019-10-04), and then first used in 46689317ac0 (ci: also
build and test with MS Visual Studio on Azure Pipelines, 2019-10-04).

I'd started out fixing a bug in the "init" pattern here. We set "next"
to "-1" and then proceed to memset() the whole struct to "0", so the
two "STRING_LIST_INIT_DUP" here are also redundant to our setting of
the "strdup_strings" members later on.

But rather than fix that let's just remove this whole thing, as
nothing is using it.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---

There's a trivial conflict here with ab/config-based-hooks-base. This
removes code, that series adds a couple of new (but unrelated)
functions in-between some of these removed functions.

 t/helper/test-run-command.c | 151 ------------------------------------
 1 file changed, 151 deletions(-)

diff --git a/t/helper/test-run-command.c b/t/helper/test-run-command.c
index 7ae03dc7123..1d41c0eda81 100644
--- a/t/helper/test-run-command.c
+++ b/t/helper/test-run-command.c
@@ -10,14 +10,10 @@
 
 #include "test-tool.h"
 #include "git-compat-util.h"
-#include "cache.h"
 #include "run-command.h"
 #include "strvec.h"
 #include "strbuf.h"
 #include "parse-options.h"
-#include "string-list.h"
-#include "thread-utils.h"
-#include "wildmatch.h"
 #include "gettext.h"
 #include "parse-options.h"
 
@@ -55,151 +51,6 @@ static int task_finished(int result,
 	return 1;
 }
 
-struct testsuite {
-	struct string_list tests, failed;
-	int next;
-	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 }
-
-static int next_test(struct child_process *cp, struct strbuf *err, void *cb,
-		     void **task_cb)
-{
-	struct testsuite *suite = cb;
-	const char *test;
-	if (suite->next >= suite->tests.nr)
-		return 0;
-
-	test = suite->tests.items[suite->next++].string;
-	strvec_pushl(&cp->args, "sh", test, NULL);
-	if (suite->quiet)
-		strvec_push(&cp->args, "--quiet");
-	if (suite->immediate)
-		strvec_push(&cp->args, "-i");
-	if (suite->verbose)
-		strvec_push(&cp->args, "-v");
-	if (suite->verbose_log)
-		strvec_push(&cp->args, "-V");
-	if (suite->trace)
-		strvec_push(&cp->args, "-x");
-	if (suite->write_junit_xml)
-		strvec_push(&cp->args, "--write-junit-xml");
-
-	strbuf_addf(err, "Output of '%s':\n", test);
-	*task_cb = (void *)test;
-
-	return 1;
-}
-
-static int test_finished(int result, struct strbuf *err, void *cb,
-			 void *task_cb)
-{
-	struct testsuite *suite = cb;
-	const char *name = (const char *)task_cb;
-
-	if (result)
-		string_list_append(&suite->failed, name);
-
-	strbuf_addf(err, "%s: '%s'\n", result ? "FAIL" : "SUCCESS", name);
-
-	return 0;
-}
-
-static int test_failed(struct strbuf *out, void *cb, void *task_cb)
-{
-	struct testsuite *suite = cb;
-	const char *name = (const char *)task_cb;
-
-	string_list_append(&suite->failed, name);
-	strbuf_addf(out, "FAILED TO START: '%s'\n", name);
-
-	return 0;
-}
-
-static const char * const testsuite_usage[] = {
-	"test-run-command testsuite [<options>] [<pattern>...]",
-	NULL
-};
-
-static int testsuite(int argc, const char **argv)
-{
-	struct testsuite suite = TESTSUITE_INIT;
-	int max_jobs = 1, i, ret;
-	DIR *dir;
-	struct dirent *d;
-	struct option options[] = {
-		OPT_BOOL('i', "immediate", &suite.immediate,
-			 "stop at first failed test case(s)"),
-		OPT_INTEGER('j', "jobs", &max_jobs, "run <N> jobs in parallel"),
-		OPT_BOOL('q', "quiet", &suite.quiet, "be terse"),
-		OPT_BOOL('v', "verbose", &suite.verbose, "be verbose"),
-		OPT_BOOL('V', "verbose-log", &suite.verbose_log,
-			 "be verbose, redirected to a file"),
-		OPT_BOOL('x', "trace", &suite.trace, "trace shell commands"),
-		OPT_BOOL(0, "write-junit-xml", &suite.write_junit_xml,
-			 "write JUnit-style XML files"),
-		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);
-
-	if (max_jobs <= 0)
-		max_jobs = online_cpus();
-
-	dir = opendir(".");
-	if (!dir)
-		die("Could not open the current directory");
-	while ((d = readdir(dir))) {
-		const char *p = d->d_name;
-
-		if (*p != 't' || !isdigit(p[1]) || !isdigit(p[2]) ||
-		    !isdigit(p[3]) || !isdigit(p[4]) || p[5] != '-' ||
-		    !ends_with(p, ".sh"))
-			continue;
-
-		/* No pattern: match all */
-		if (!argc) {
-			string_list_append(&suite.tests, p);
-			continue;
-		}
-
-		for (i = 0; i < argc; i++)
-			if (!wildmatch(argv[i], p, 0)) {
-				string_list_append(&suite.tests, p);
-				break;
-			}
-	}
-	closedir(dir);
-
-	if (!suite.tests.nr)
-		die("No tests match!");
-	if (max_jobs > suite.tests.nr)
-		max_jobs = suite.tests.nr;
-
-	fprintf(stderr, "Running %d tests (%d at a time)\n",
-		suite.tests.nr, max_jobs);
-
-	ret = run_processes_parallel(max_jobs, next_test, test_failed,
-				     test_finished, &suite);
-
-	if (suite.failed.nr > 0) {
-		ret = 1;
-		fprintf(stderr, "%d tests failed:\n\n", suite.failed.nr);
-		for (i = 0; i < suite.failed.nr; i++)
-			fprintf(stderr, "\t%s\n", suite.failed.items[i].string);
-	}
-
-	string_list_clear(&suite.tests, 0);
-	string_list_clear(&suite.failed, 0);
-
-	return !!ret;
-}
-
 static uint64_t my_random_next = 1234;
 
 static uint64_t my_random(void)
@@ -373,8 +224,6 @@ int cmd__run_command(int argc, const char **argv)
 	struct child_process proc = CHILD_PROCESS_INIT;
 	int jobs;
 
-	if (argc > 1 && !strcmp(argv[1], "testsuite"))
-		exit(testsuite(argc - 1, argv + 1));
 	if (!strcmp(argv[1], "inherited-handle"))
 		exit(inherit_handle(argv[0]));
 	if (!strcmp(argv[1], "inherited-handle-child"))
-- 
2.33.0.821.g8b294b0dcf8


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-09-11 18:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-06  0:37 [PATCH] test-tool run-command: remove dead "testsuite" code Ævar Arnfjörð Bjarmason
2021-09-07 20:26 ` Junio C Hamano
2021-09-09 11:26   ` Johannes Schindelin
2021-09-09 12:05     ` Ævar Arnfjörð Bjarmason
2021-09-09 13:09     ` [PATCH] test-tool run-command: fix confusing init pattern Ævar Arnfjörð Bjarmason
2021-09-10 11:23       ` Johannes Schindelin
2021-09-10 19:32         ` Ævar Arnfjörð Bjarmason
2021-09-10 22:05           ` Junio C Hamano
2021-09-11 18:26       ` [PATCH v2] test-tool run-command: fix flip-flop " Ævar Arnfjörð Bjarmason
2021-09-07 21:41 ` [PATCH] test-tool run-command: remove dead "testsuite" code Johannes Schindelin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.