[PATCH 2/2] test: use python2 instead of python if available

Subject: [PATCH 2/2] test: use python2 instead of python if available

Date: Wed, 7 Dec 2011 10:46:18 +0100

To: notmuch@notmuchmail.org

Cc:

From: Thomas Jost


Some distros (Arch Linux) ship Python as python2 and Python 3 as python.
Checking for python2 is necessary for the Python tests to work on these
platforms.
---
 test/test-lib.sh |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/test/test-lib.sh b/test/test-lib.sh
index 519bd84..155ad3c 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -923,8 +923,14 @@ 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) \
-		| python -
+		| $cmd -
 }
 
 test_reset_state_ () {
@@ -1157,3 +1163,4 @@ test_declare_external_prereq emacsclient
 test_declare_external_prereq gdb
 test_declare_external_prereq gpg
 test_declare_external_prereq python
+test_declare_external_prereq python2
-- 
1.7.8


Thread: