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

[PATCH 4/4] travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Dec 11, 2017, 23:34 UTC
Message-ID
<20171211233446.10596-5-szeder.dev@gmail.com>
In-Reply-To
<20171211233446.10596-1-szeder.dev@gmail.com>

Commit 657343a60 (travis-ci: move Travis CI code into dedicated scripts, 2017-09-10) converted '.travis.yml's default 'before_install' scriptlet to the 'ci/install-dependencies.sh' script, and while doing so moved setting GIT_TEST_HTTPD=YesPlease for the 64-bit GCC and Clang Linux build jobs to that script. This is wrong for two reasons:

 - The purpose of that script is, as its name suggests, to install
   dependencies, not to set any environment variables influencing
   which tests should be run (though, arguably, this was already an
   issue with the original 'before_install' scriptlet).
 - Setting the variable has no effect anymore, because that script is
   run in a separate shell process, and the variable won't be visible
   in any of the other scripts, notably in 'ci/run-tests.sh'
   responsible for, well, running the tests.

Luckily, this didn't have a negative effect on our Travis CI build jobs, because GIT_TEST_HTTPD is a tri-state variable defaulting to "auto" and a functioning web server was installed in those Linux build jobs, so the httpd tests were run anyway.

Apparently the httpd tests run just fine without GIT_TEST_HTTPD being set, therefore we could simply remove this environment variable. However, if a bug were to creep in to change the Travis CI build environment to run the tests as root or to not install Apache, then the httpd tests would be skipped and the build job would still succeed. We would only notice if someone actually were to look through the build job's trace log; but who would look at the trace log of a successful build job?!

Since httpd tests are important, we do want to run them and we want to be loudly reminded if they can't be run. Therefore, move setting GIT_TEST_HTTPD=YesPlease for the 64-bit GCC and Clang Linux build jobs to 'ci/lib-travisci.sh' to ensure that the build job fails when the httpd tests can't be run. (We could set it in 'ci/run-tests.sh' just as well, but it's better to keep all environment variables in one place in 'ci/lib-travisci.sh'.)

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
 ci/install-dependencies.sh | 2 --
 ci/lib-travisci.sh         | 2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 468788566..75a9fd247 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -10,8 +10,6 @@ LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VE
 
 case "$jobname" in
 linux-clang|linux-gcc)
-	export GIT_TEST_HTTPD=YesPlease
-
 	mkdir --parents "$P4_PATH"
 	pushd "$P4_PATH"
 		wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
diff --git a/ci/lib-travisci.sh b/ci/lib-travisci.sh
index e85571298..331d3eb3a 100755
--- a/ci/lib-travisci.sh
+++ b/ci/lib-travisci.sh
@@ -40,6 +40,8 @@ export GIT_TEST_CLONE_2GB=YesPlease
 
 case "$jobname" in
 linux-clang|linux-gcc)
+	export GIT_TEST_HTTPD=YesPlease
+
 	# The Linux build installs the defined dependency versions below.
 	# The OS X build installs the latest available versions. Keep that
 	# in mind when you encounter a broken OS X build!
-- 
2.15.1.421.gc469ca1de
Previous: SZEDER GáborNext: SZEDER Gábor
Message 13 of 44 in “travis-ci: fix running P4 and Git LFS tests in Linux build jobs”
  1. travis-ci: fix running P4 and Git LFS tests in Linux build jobsSZEDER Gábor, Nov 1, 2017
  2. 0/4 travis-ci: clean up setting environment variablesSZEDER Gábor, Dec 11, 2017
  3. 1/4 travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing outputSZEDER Gábor, Dec 11, 2017
  4. Lars SchneiderDec 12, 2017
  5. SZEDER GáborDec 12, 2017
  6. Lars SchneiderDec 13, 2017
  7. SZEDER GáborDec 14, 2017
  8. Johannes SchindelinDec 15, 2017
  9. SZEDER GáborDec 15, 2017
  10. Johannes SchindelinDec 15, 2017
  11. 2/4 travis-ci: introduce a $jobname variable for 'ci/*' scriptsSZEDER Gábor, Dec 11, 2017
  12. 3/4 travis-ci: move setting environment variables to 'ci/lib-travisci.sh'SZEDER Gábor, Dec 11, 2017
  13. 4/4 travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'SZEDER Gábor, Dec 11, 2017
  14. 0/8 Travis CI cleanupsSZEDER Gábor, Dec 16, 2017
  15. 1/8 travis-ci: use 'set -x' in select 'ci/*' scripts for extra tracingSZEDER Gábor, Dec 16, 2017
  16. 2/8 travis-ci: introduce a $jobname variable for 'ci/*' scriptsSZEDER Gábor, Dec 16, 2017
  17. 3/8 travis-ci: move setting environment variables to 'ci/lib-travisci.sh'SZEDER Gábor, Dec 16, 2017
  18. 4/8 travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'SZEDER Gábor, Dec 16, 2017
  19. 5/8 travis-ci: don't install default addon packages for the 32 bit Linux buildSZEDER Gábor, Dec 16, 2017
  20. 6/8 travis-ci: don't install 'language-pack-is' packageSZEDER Gábor, Dec 16, 2017
  21. Lars SchneiderDec 18, 2017
  22. SZEDER GáborDec 18, 2017
  23. Lars SchneiderDec 18, 2017
  24. Junio C HamanoDec 18, 2017
  25. SZEDER GáborDec 19, 2017
  26. 7/8 travis-ci: save prove state for the 32 bit Linux buildSZEDER Gábor, Dec 16, 2017
  27. 8/8 travis-ci: only print test failures if there are test results availableSZEDER Gábor, Dec 16, 2017
  28. Eric SunshineDec 16, 2017
  29. SZEDER GáborDec 16, 2017
  30. Eric SunshineDec 17, 2017
  31. Johannes SchindelinDec 16, 2017
  32. Lars SchneiderDec 18, 2017
  33. Lars SchneiderDec 18, 2017
  34. 0/4 Rest of the Travis CI fixesSZEDER Gábor, Dec 27, 2017
  35. 1/4 travis-ci: fine tune the use of 'set -x' in 'ci/*' scriptsSZEDER Gábor, Dec 27, 2017
  36. Lars SchneiderDec 27, 2017
  37. 2/4 travis-ci: don't install default addon packages for the 32 bit Linux buildSZEDER Gábor, Dec 27, 2017
  38. Lars SchneiderDec 27, 2017
  39. 3/4 travis-ci: save prove state for the 32 bit Linux buildSZEDER Gábor, Dec 27, 2017
  40. Lars SchneiderDec 27, 2017
  41. SZEDER GáborDec 27, 2017
  42. Lars SchneiderDec 28, 2017
  43. 4/4 travis-ci: only print test failures if there are test results availableSZEDER Gábor, Dec 27, 2017
  44. Lars SchneiderDec 27, 2017

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.