From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 283586DE173B for ; Sat, 1 Aug 2015 23:42:06 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 0.151 X-Spam-Level: X-Spam-Status: No, score=0.151 tagged_above=-999 required=5 tests=[AWL=0.141, T_HEADER_FROM_DIFFERENT_DOMAINS=0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mWcD6iKIRBrS for ; Sat, 1 Aug 2015 23:42:03 -0700 (PDT) Received: from gitolite.debian.net (gitolite.debian.net [87.98.215.224]) by arlo.cworth.org (Postfix) with ESMTPS id 577B66DE1715 for ; Sat, 1 Aug 2015 23:42:03 -0700 (PDT) Received: from remotemail by gitolite.debian.net with local (Exim 4.80) (envelope-from ) id 1ZLmxU-00008R-Qi; Sun, 02 Aug 2015 06:41:20 +0000 Received: (nullmailer pid 15607 invoked by uid 1000); Sun, 02 Aug 2015 06:41:06 -0000 From: David Bremner To: David Bremner , notmuch@notmuchmail.org Subject: [PATCH] test: use the python interpreter in sh.config Date: Sun, 2 Aug 2015 08:40:55 +0200 Message-Id: <1438497655-15446-1-git-send-email-david@tethera.net> X-Mailer: git-send-email 2.1.4 In-Reply-To: <87mw0agsp7.fsf@maritornes.cs.unb.ca> References: <87mw0agsp7.fsf@maritornes.cs.unb.ca> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Aug 2015 06:42:06 -0000 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. --- 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