On Sun, Aug 02 2015, David Bremner <david@tethera.net> wrote: > 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. LGTM. tests pass. > > 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. Unless we accidentally edit NOTMUCH_PYTHON (away) in configure... (i.e. I parsonally think this comment part is unnecessary, but i'm not against having it) Tomi > --- > > Here is an updated version which fixes the subject typo, and actually > tests for the python binary read from sh.config. I'll probably merge this version unless there are objections > > 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 56f550b..20fbed6 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 26d0b97..c3f24f7 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 3466e9c..db3b6aa 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.1.4 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch