aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu@centricular.com>2018-04-09 02:06:22 +0200
committerMathieu Duponchelle <mathieu@centricular.com>2018-04-09 02:06:22 +0200
commitdce770c0a78ae1a99a53d62faae5b52dbbd5cd03 (patch)
tree638c6378752231b74c39c092d880109e4aaca117
parent5b13742ff4dfbede24f24447585ad6501bb2f0ff (diff)
downloadmeson-dce770c0a78ae1a99a53d62faae5b52dbbd5cd03.zip
meson-dce770c0a78ae1a99a53d62faae5b52dbbd5cd03.tar.gz
meson-dce770c0a78ae1a99a53d62faae5b52dbbd5cd03.tar.bz2
[fixup]: Fix python2 detection and unit test
-rw-r--r--mesonbuild/modules/python.py2
-rwxr-xr-xrun_unittests.py16
2 files changed, 14 insertions, 4 deletions
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index b20e9fc..4734654 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -416,7 +416,7 @@ class PythonModule(ExtensionModule):
if not version or \
name_or_path == 'python2' and mesonlib.version_compare(version, '>= 3.0') or \
name_or_path == 'python3' and not mesonlib.version_compare(version, '>= 3.0'):
- res = NonExistingExternalProgram()
+ python = NonExistingExternalProgram()
if not python.found():
if required:
diff --git a/run_unittests.py b/run_unittests.py
index 3767da4..879048b 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -2858,9 +2858,19 @@ class PythonTests(BasePlatformTests):
# When specifying a known name, (python2 / python3) the module
# will also try 'python' as a fallback and use it if the major
# version matches
- self.init(testdir, ['-Dpython=python2'])
- self.build()
- self.run_tests()
+ try:
+ self.init(testdir, ['-Dpython=python2'])
+ self.build()
+ self.run_tests()
+ except unittest.SkipTest:
+ # python2 is not necessarily installed on the test machine,
+ # if it is not, or the python headers can't be found, the test
+ # will raise MESON_SKIP_TEST, we could check beforehand what version
+ # of python is available, but it's a bit of a chicken and egg situation,
+ # as that is the job of the module, so we just ask for forgiveness rather
+ # than permission.
+ pass
+
self.wipe()
# The test is configured to error out with MESON_SKIP_TEST