aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-09-02 00:36:26 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2019-10-01 21:12:04 +0300
commit5b422fce87826beff3bca85e9c9081f22b3f45b7 (patch)
treef60521dd35db02ae264f4b0031ac26b8487d59d4
parent7d9e58f12568de16625c6f063e1e8c50920a012e (diff)
downloadmeson-5b422fce87826beff3bca85e9c9081f22b3f45b7.zip
meson-5b422fce87826beff3bca85e9c9081f22b3f45b7.tar.gz
meson-5b422fce87826beff3bca85e9c9081f22b3f45b7.tar.bz2
Make Python 2 tests optional(er) to prepare for py2 purge in Debian.
-rw-r--r--mesonbuild/modules/python.py5
-rwxr-xr-xrun_unittests.py9
2 files changed, 11 insertions, 3 deletions
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index fc9ec9b..7832eb8 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -115,7 +115,6 @@ class PythonDependency(ExternalDependency):
self._find_libpy_windows(environment)
else:
self._find_libpy(python_holder, environment)
-
if self.is_found:
mlog.debug('Found "python-{}" via SYSCONFIG module'.format(self.version))
py_lookup_method = 'sysconfig'
@@ -123,7 +122,7 @@ class PythonDependency(ExternalDependency):
if self.is_found:
mlog.log('Dependency', mlog.bold(self.name), 'found:', mlog.green('YES ({})'.format(py_lookup_method)))
else:
- mlog.log('Dependency', mlog.bold(self.name), 'found:', [mlog.red('NO')])
+ mlog.log('Dependency', mlog.bold(self.name), 'found:', mlog.red('NO'))
def _find_libpy(self, python_holder, environment):
if python_holder.is_pypy:
@@ -145,7 +144,7 @@ class PythonDependency(ExternalDependency):
if largs is not None:
self.link_args = largs
- self.is_found = largs is not None or not self.link_libpython
+ self.is_found = largs is not None or self.link_libpython
inc_paths = mesonlib.OrderedSet([
self.variables.get('INCLUDEPY'),
diff --git a/run_unittests.py b/run_unittests.py
index a2b083f..9dedbbe 100755
--- a/run_unittests.py
+++ b/run_unittests.py
@@ -6328,6 +6328,15 @@ class NativeFileTests(BasePlatformTests):
# python module breaks. This is fine on other OSes because they
# don't need the extra indirection.
raise unittest.SkipTest('bat indirection breaks internal sanity checks.')
+ if os.path.exists('/etc/debian_version'):
+ rc = subprocess.call(['pkg-config', '--cflags', 'python2'],
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.DEVNULL)
+ if rc != 0:
+ # Python 2 will be removed in Debian Bullseye, thus we must
+ # remove the build dependency on python2-dev. Keep the tests
+ # but only run them if dev packages are available.
+ raise unittest.SkipTest('Not running Python 2 tests because dev packages not installed.')
self._simple_test('python', 'python')
@unittest.skipIf(is_windows(), 'Setting up multiple compilers on windows is hard')