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

[PATCH v3 6/6] perf-lib.sh: forbid the use of GIT_TEST_INSTALLED

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
May 7, 2019, 10:54 UTC
Message-ID
<20190507105434.9600-7-avarab@gmail.com>
In-Reply-To
<20190506232309.28538-1-avarab@gmail.com>

As noted in preceding commits setting GIT_TEST_INSTALLED has never been supported or documented, and as noted in an earlier t/perf/README change to the extent that it's been documented nobody's notices that the example hasn't worked since 3c8f12c96c ("test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier", 2012-06-24).

We could directly support GIT_TEST_INSTALLED for invocations without the "run" script, such as:

    GIT_TEST_INSTALLED=../../ ./p0000-perf-lib-sanity.sh
    GIT_TEST_INSTALLED=/home/avar/g/git ./p0000-perf-lib-sanity.sh

But while not having this "error" will "work", it won't write the the resulting "test-results/*" files to the right place, and thus a subsequent call to aggregate.perl won't work as expected.

Let's just tell the user that they need to use the "run" script, which'll correctly deal with this and set the right PERF_RESULTS_PREFIX.

If someone's in desperate need of bypassing "run" for whatever reason they can trivially do so by setting "PERF_SET_GIT_TEST_INSTALLED", but not we won't have people who expect GIT_TEST_INSTALLED to just work wondering why their aggregation doesn't work, even though they're running the right "git".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 t/perf/perf-lib.sh | 11 +++++++++++
 t/perf/run         |  2 ++
 2 files changed, 13 insertions(+)
diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh
index 9cdccba222..b58a43ea43 100644
--- a/t/perf/perf-lib.sh
+++ b/t/perf/perf-lib.sh
@@ -27,6 +27,17 @@ TEST_NO_MALLOC_CHECK=t
 
 . ../test-lib.sh
 
+if test -n "$GIT_TEST_INSTALLED" -a -z "$PERF_SET_GIT_TEST_INSTALLED"
+then
+	error "Do not use GIT_TEST_INSTALLED with the perf tests.
+
+Instead use:
+
+    ./run <path-to-git> -- <tests>
+
+See t/perf/README for details."
+fi
+
 # Variables from test-lib that are normally internal to the tests; we
 # need to export them for test_perf subshells
 export TEST_DIRECTORY TRASH_DIRECTORY GIT_BUILD_DIR GIT_TEST_CMP
diff --git a/t/perf/run b/t/perf/run
index cd3882b117..c7b86104e1 100755
--- a/t/perf/run
+++ b/t/perf/run
@@ -84,6 +84,8 @@ set_git_test_installed () {
 		GIT_TEST_INSTALLED=$mydir_abs
 	fi
 	export GIT_TEST_INSTALLED
+	PERF_SET_GIT_TEST_INSTALLED=true
+	export PERF_SET_GIT_TEST_INSTALLED
 }
 
 run_dirs_helper () {
-- 
2.21.0.593.g511ec345e18
Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 20 of 38 in “What's cooking in git.git (Apr 2019, #05; Thu, 25)”
  1. Junio C HamanoApr 25, 2019
  2. Elijah NewrenApr 25, 2019
  3. js/partial-clone-connectivity-check (was: What's cooking in git.git (Apr 2019, #05; Thu, 25))Josh Steadmon, Apr 25, 2019
  4. Jeff KingMay 2, 2019
  5. Josh SteadmonMay 2, 2019
  6. Jeff KingMay 2, 2019
  7. Jeff KingMay 2, 2019
  8. perf-lib.sh: make "./run <revisions>" use the correct gitsÆvar Arnfjörð Bjarmason, May 6, 2019
  9. Jeff KingMay 6, 2019
  10. 0/2 perf-lib.sh: fix 0baf78e7bc regression, refactor & fix bugsÆvar Arnfjörð Bjarmason, May 6, 2019
  11. Jeff KingMay 7, 2019
  12. 1/6 perf README: correct docs for 3c8f12c96c regressionÆvar Arnfjörð Bjarmason, May 7, 2019
  13. 3/6 perf-lib.sh: make "./run <revisions>" use the correct gitsÆvar Arnfjörð Bjarmason, May 7, 2019
  14. 2/6 perf aggregate: remove GIT_TEST_INSTALLED from --codespeedÆvar Arnfjörð Bjarmason, May 7, 2019
  15. 4/6 perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.shÆvar Arnfjörð Bjarmason, May 7, 2019
  16. 5/6 perf tests: add "bindir" prefix to git tree test resultsÆvar Arnfjörð Bjarmason, May 7, 2019
  17. 0/6 perf-lib.sh: fix 0baf78e7bc regression, refactor & fix bugsÆvar Arnfjörð Bjarmason, May 7, 2019
  18. Jeff KingMay 7, 2019
  19. Junio C HamanoMay 8, 2019
  20. 6/6 perf-lib.sh: forbid the use of GIT_TEST_INSTALLEDÆvar Arnfjörð Bjarmason, May 7, 2019
  21. 1/2 perf-lib.sh: make "./run <revisions>" use the correct gitsÆvar Arnfjörð Bjarmason, May 6, 2019
  22. Jeff KingMay 7, 2019
  23. 2/2 perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.shÆvar Arnfjörð Bjarmason, May 6, 2019
  24. Jeff KingMay 7, 2019
  25. Ævar Arnfjörð BjarmasonMay 7, 2019
  26. Jeff KingMay 7, 2019
  27. Taylor BlauApr 26, 2019
  28. Junio C HamanoApr 26, 2019
  29. Taylor BlauApr 26, 2019
  30. Junio C HamanoApr 26, 2019
  31. Kaartic SivaraamApr 26, 2019
  32. Junio C HamanoApr 27, 2019
  33. Kaartic SivaraamApr 27, 2019
  34. Jeff KingMay 2, 2019
  35. js/macos-gettext-build, was Re: What's cooking in git.git (Apr 2019, #05; Thu, 25)Johannes Schindelin, Apr 29, 2019
  36. Junio C HamanoMay 5, 2019
  37. Duy NguyenMay 6, 2019
  38. Junio C HamanoMay 7, 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.