From c1391ce2b89dbdc0837cc1036965e9b601144568 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 2 Aug 2015 08:40:55 +0200 Subject: [PATCH] [PATCH] test: use the python interpreter in sh.config --- a6/4f7846c42bbf3308a8608aca343549a895db6c | 131 ++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 a6/4f7846c42bbf3308a8608aca343549a895db6c diff --git a/a6/4f7846c42bbf3308a8608aca343549a895db6c b/a6/4f7846c42bbf3308a8608aca343549a895db6c new file mode 100644 index 000000000..1f01a48a7 --- /dev/null +++ b/a6/4f7846c42bbf3308a8608aca343549a895db6c @@ -0,0 +1,131 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +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 + -- 2.26.2