diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-09-02 00:36:26 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-10-01 21:12:04 +0300 |
commit | 5b422fce87826beff3bca85e9c9081f22b3f45b7 (patch) | |
tree | f60521dd35db02ae264f4b0031ac26b8487d59d4 | |
parent | 7d9e58f12568de16625c6f063e1e8c50920a012e (diff) | |
download | meson-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.py | 5 | ||||
-rwxr-xr-x | run_unittests.py | 9 |
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') |