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

Re: [PATCH] tests: handle NO_PYTHON setting

From
Jeff King <peff@peff.net>
Date
Nov 30, 2009, 20:54 UTC
Message-ID
<20091130205453.GA20348@coredump.intra.peff.net>
In-Reply-To
<0OMCWm31DRbUGCfPIS6SSJn59HQIM9AKtSDgVSNdiSR99clfmJ3D-Q@cipher.nrlssc.navy.mil>
On Mon, Nov 30, 2009 at 12:07:40PM -0600, Brandon Casey wrote:
> Shouldn't this section be moved down below the sourcing of ../GIT-BUILD-OPTIONS
> on line 656 so that the value of NO_PYTHON will be available when running the
> test scripts directly?

Oops, good catch. I stupidly tested with "make NO_PYTHON=1 test" instead of actually checking that GIT-BUILD-OPTIONS was propagating it correctly.

> ps. There's something eerily familiar about this patch.
Hmmm. Yes, I didn't search before writing it, but you probably mean:
  http://article.gmane.org/gmane.comp.version-control.git/127172

But that is missing the NO-PYTHON bit in GIT-BUILD-OPTIONS (did you forget it there, or was it part of some other patch that also didn't get applied?).

Also, I am tempted to move the GIT-BUILD-OPTIONS invocation _up_. It is about reading config and should probably come before we start doing _anything_.

So maybe this instead:
-- >8 --
Subject: [PATCH] tests: handle NO_PYTHON setting

Without this, test-lib checks that the git_remote_helpers directory has been built. However, if we are building without python, we will not have done anything at all in that directory, and test-lib's sanity check will fail.

We bump the inclusion of GIT-BUILD-OPTIONS further up in test-lib; it contains configuration, and as such should be read before we do any checks (and in this particular case, we need its value to do our check properly).

Signed-off-by: Jeff King <peff@peff.net>
---
I moved the BUILD-OPTIONS thing to just above the beginning of the
"have you built anything" checks, but after all of the function
definitions. But perhaps it should simply go at the very top of the
script. After all, in the case of "make NO_PYTHON=1 test", those
variables will already be defined at the very beginning of the script.
 Makefile      |    1 +
 t/test-lib.sh |    6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 42744a4..443565e 100644
--- a/Makefile
+++ b/Makefile
@@ -1743,6 +1743,7 @@ GIT-BUILD-OPTIONS: .FORCE-GIT-BUILD-OPTIONS
 	@echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
 	@echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
 	@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
+	@echo NO_PYTHON=\''$(subst ','\'',$(subst ','\'',$(NO_PYTHON)))'\' >>$@
 
 ### Detect Tck/Tk interpreter path changes
 ifndef NO_TCLTK
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 4a40520..2d523fe 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -632,13 +632,15 @@ GIT_CONFIG_NOSYSTEM=1
 GIT_CONFIG_NOGLOBAL=1
 export PATH GIT_EXEC_PATH GIT_TEMPLATE_DIR GIT_CONFIG_NOSYSTEM GIT_CONFIG_NOGLOBAL
 
+. ../GIT-BUILD-OPTIONS
+
 GITPERLLIB=$(pwd)/../perl/blib/lib:$(pwd)/../perl/blib/arch/auto/Git
 export GITPERLLIB
 test -d ../templates/blt || {
 	error "You haven't built things yet, have you?"
 }
 
-if test -z "$GIT_TEST_INSTALLED"
+if test -z "$GIT_TEST_INSTALLED" && test -z "$NO_PYTHON"
 then
 	GITPYTHONLIB="$(pwd)/../git_remote_helpers/build/lib"
 	export GITPYTHONLIB
@@ -653,8 +655,6 @@ if ! test -x ../test-chmtime; then
 	exit 1
 fi
 
-. ../GIT-BUILD-OPTIONS
-
 # Test repository
 test="trash directory.$(basename "$0" .sh)"
 test -n "$root" && test="$root/$test"
-- 
1.6.6.rc0.327.gd49b
Previous: Brandon CaseyNext: Brandon Casey
Message 14 of 16 in “tests: handle NO_PYTHON setting”
  1. tests: handle NO_PYTHON settingJeff King, Nov 30, 2009
  2. Sverre RabbelierNov 30, 2009
  3. Jeff KingNov 30, 2009
  4. Sverre RabbelierNov 30, 2009
  5. Jeff KingNov 30, 2009
  6. Junio C HamanoNov 30, 2009
  7. Sverre RabbelierNov 30, 2009
  8. Junio C HamanoNov 30, 2009
  9. Sverre RabbelierNov 30, 2009
  10. Johan HerlandNov 30, 2009
  11. Junio C HamanoNov 30, 2009
  12. Johan HerlandNov 30, 2009
  13. Brandon CaseyNov 30, 2009
  14. Jeff KingNov 30, 2009
  15. Brandon CaseyNov 30, 2009
  16. Johan HerlandNov 30, 2009

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.