git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 2/2] tests: introduce --stress-jobs=<N>

From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 3, 2019, 14:44 UTC
Message-ID
<074628c22b2df82280b06db604196f25300e8f87.1551624293.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.155.v2.git.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>

The --stress option currently accepts an argument, but it is confusing to at least this user that the argument does not define the maximal number of stress iterations, but instead the number of jobs to run in parallel per stress iteration.

Let's introduce a separate option for that, whose name makes it more obvious what it is about, and let --stress=<N> error out with a helpful suggestion about the two options tha could possibly have been meant.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/README      | 6 ++++--
 t/test-lib.sh | 8 +++++++-
 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/t/README b/t/README
index b61bc930c4..a496be56ef 100644
--- a/t/README
+++ b/t/README
@@ -187,11 +187,10 @@ appropriately before running "make".
 	variable to "1" or "0", respectively.
 
 --stress::
---stress=<N>::
 	Run the test script repeatedly in multiple parallel jobs until
 	one of them fails.  Useful for reproducing rare failures in
 	flaky tests.  The number of parallel jobs is, in order of
-	precedence: <N>, or the value of the GIT_TEST_STRESS_LOAD
+	precedence: the value of the GIT_TEST_STRESS_LOAD
 	environment variable, or twice the number of available
 	processors (as shown by the 'getconf' utility),	or 8.
 	Implies `--verbose -x --immediate` to get the most information
@@ -202,6 +201,9 @@ appropriately before running "make".
 	'.stress-<nr>' suffix, and the trash directory of the failed
 	test job is renamed to end with a '.stress-failed' suffix.
 
+--stress-jobs=<N>::
+	Override the number of parallel jobs. Implies `--stress`.
+
 --stress-limit=<N>::
 	When combined with --stress run the test script repeatedly
 	this many times in each of the parallel jobs or until one of
diff --git a/t/test-lib.sh b/t/test-lib.sh
index ab7f27ec6a..6e557982a2 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -142,10 +142,16 @@ do
 	--stress)
 		stress=t ;;
 	--stress=*)
+		echo "error: --stress does not accept an argument: '$opt'" >&2
+		echo "did you mean --stress-jobs=${opt#*=} or --stress-limit=${opt#*=}?" >&2
+		exit 1
+		;;
+	--stress-jobs=*)
+		stress=t;
 		stress=${opt#--*=}
 		case "$stress" in
 		*[!0-9]*|0*|"")
-			echo "error: --stress=<N> requires the number of jobs to run" >&2
+			echo "error: --stress-jobs=<N> requires the number of jobs to run" >&2
 			exit 1
 			;;
 		*)	# Good.
-- 
gitgitgadget
Previous: Johannes Schindelin via GitGitGadgetNext: Eric Sunshine
Message 11 of 15 in “tests: some touchups related to the --stress feature”
  1. 0/2 tests: some touchups related to the --stress featureJohannes Schindelin via GitGitGadget, Mar 2, 2019
  2. 2/2 tests: introduce --stress-jobs=<N>Johannes Schindelin via GitGitGadget, Mar 2, 2019
  3. Eric SunshineMar 3, 2019
  4. Junio C HamanoMar 3, 2019
  5. SZEDER GáborMar 3, 2019
  6. Johannes SchindelinMar 3, 2019
  7. 1/2 tests: let --stress-limit=<N> imply --stressJohannes Schindelin via GitGitGadget, Mar 2, 2019
  8. Junio C HamanoMar 3, 2019
  9. 0/2 tests: some touchups related to the --stress featureJohannes Schindelin via GitGitGadget, Mar 3, 2019
  10. 1/2 tests: let --stress-limit=<N> imply --stressJohannes Schindelin via GitGitGadget, Mar 3, 2019
  11. 2/2 tests: introduce --stress-jobs=<N>Johannes Schindelin via GitGitGadget, Mar 3, 2019
  12. Eric SunshineMar 3, 2019
  13. Junio C HamanoMar 4, 2019
  14. Eric SunshineMar 4, 2019
  15. Jeff KingMar 3, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.