From 23d86773b9e1b8111921af94f7f14ea0867eaee2 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 2 Aug 2015 08:40:55 +0200 Subject: [PATCH] test: use the python interpreter in sh.config The configure script chooses "python" if both python and python{2,3} exist exists, so this could change the version of python used to run the test suite. The checking for ${NOTMUCH_PYTHON} in the test suite is arguably over-engineering, since the configure step will fail if it can't find it. --- configure | 2 ++ test/T390-python.sh | 2 ++ test/test-lib.sh | 15 ++++----------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/configure b/configure index 56f550b0..20fbed62 100755 --- a/configure +++ b/configure @@ -114,6 +114,8 @@ Other environment variables can be used to control configure itself, XAPIAN_CONFIG The program to use to determine flags for compiling and linking against the Xapian library. [$XAPIAN_CONFIG] + PYTHON Name of python command to use in + configure and the test suite. Additionally, various options can be specified on the configure command line. diff --git a/test/T390-python.sh b/test/T390-python.sh index 26d0b976..c3f24f79 100755 --- a/test/T390-python.sh +++ b/test/T390-python.sh @@ -2,6 +2,8 @@ test_description="python bindings" . ./test-lib.sh +test_require_external_prereq ${NOTMUCH_PYTHON} + add_email_corpus test_begin_subtest "compare thread ids" diff --git a/test/test-lib.sh b/test/test-lib.sh index 3466e9cf..db3b6aa1 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -621,9 +621,9 @@ test_expect_equal_json () { # The test suite forces LC_ALL=C, but this causes Python 3 to # decode stdin as ASCII. We need to read JSON in UTF-8, so # override Python's stdio encoding defaults. - output=$(echo "$1" | PYTHONIOENCODING=utf-8 python -mjson.tool \ + output=$(echo "$1" | PYTHONIOENCODING=utf-8 $NOTMUCH_PYTHON -mjson.tool \ || echo "$1") - expected=$(echo "$2" | PYTHONIOENCODING=utf-8 python -mjson.tool \ + expected=$(echo "$2" | PYTHONIOENCODING=utf-8 $NOTMUCH_PYTHON -mjson.tool \ || echo "$2") shift 2 test_expect_equal "$output" "$expected" "$@" @@ -1153,14 +1153,8 @@ test_python() { export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib export PYTHONPATH=$TEST_DIRECTORY/../bindings/python - # Some distros (e.g. Arch Linux) ship Python 2.* as /usr/bin/python2, - # most others as /usr/bin/python. So first try python2, and fallback to - # python if python2 doesn't exist. - cmd=python2 - [[ ${test_missing_external_prereq_[python2]} == t ]] && cmd=python - (echo "import sys; _orig_stdout=sys.stdout; sys.stdout=open('OUTPUT', 'w')"; cat) \ - | $cmd - + | $NOTMUCH_PYTHON - } test_ruby() { @@ -1325,5 +1319,4 @@ test_declare_external_prereq emacs test_declare_external_prereq ${TEST_EMACSCLIENT} test_declare_external_prereq gdb test_declare_external_prereq gpg -test_declare_external_prereq python -test_declare_external_prereq python2 +test_declare_external_prereq ${NOTMUCH_PYTHON} -- 2.26.2