aboutsummaryrefslogtreecommitdiff
path: root/test cases/python
diff options
context:
space:
mode:
authorMichael Hirsch <scivision@users.noreply.github.com>2020-07-12 09:53:17 -0400
committerMichael Hirsch <scivision@users.noreply.github.com>2020-07-12 09:53:26 -0400
commitc9d8d4628e4ae4409d09f255cc18517cdd5f1fbe (patch)
treea2f7ca924e78ab41c521f8f39cbf9d75fc39a9f7 /test cases/python
parent7851495064521b179b2fd02fdc73e3d55da4ae86 (diff)
downloadmeson-c9d8d4628e4ae4409d09f255cc18517cdd5f1fbe.zip
meson-c9d8d4628e4ae4409d09f255cc18517cdd5f1fbe.tar.gz
meson-c9d8d4628e4ae4409d09f255cc18517cdd5f1fbe.tar.bz2
simplify/correct test logic
before this, tests were being skipped on Ubuntu 20.04 with Anaconda Python Now, all 5 tests success
Diffstat (limited to 'test cases/python')
-rw-r--r--test cases/python/2 extmodule/meson.build27
-rw-r--r--test cases/python/3 cython/meson.build7
-rw-r--r--test cases/python/4 custom target depends extmodule/meson.build35
3 files changed, 36 insertions, 33 deletions
diff --git a/test cases/python/2 extmodule/meson.build b/test cases/python/2 extmodule/meson.build
index 54c50b4..18d70c8 100644
--- a/test cases/python/2 extmodule/meson.build
+++ b/test cases/python/2 extmodule/meson.build
@@ -7,26 +7,29 @@ if meson.backend() != 'ninja'
error('MESON_SKIP_TEST: Ninja backend required')
endif
+
py_mod = import('python')
py = py_mod.find_installation()
-py_dep = py.dependency()
+py_dep = py.dependency(required: false)
-if py_dep.found()
- subdir('ext')
+if not py_dep.found()
+ error('MESON_SKIP_TEST: Python libraries not found.')
+endif
- test('extmod',
- py,
- args : files('blaster.py'),
- env : ['PYTHONPATH=' + pypathdir])
+subdir('ext')
- # Check we can apply a version constraint
- dependency('python3', version: '>=@0@'.format(py_dep.version()))
+test('extmod',
+ py,
+ args : files('blaster.py'),
+ env : ['PYTHONPATH=' + pypathdir])
-else
- error('MESON_SKIP_TEST: Python3 libraries not found, skipping test.')
-endif
py3_pkg_dep = dependency('python3', method: 'pkg-config', required : false)
if py3_pkg_dep.found()
python_lib_dir = py3_pkg_dep.get_pkgconfig_variable('libdir')
+
+ # Check we can apply a version constraint
+ dependency('python3', version: '>=@0@'.format(py_dep.version()))
+else
+ message('Skipped python3 pkg-config test')
endif
diff --git a/test cases/python/3 cython/meson.build b/test cases/python/3 cython/meson.build
index 18c05d4..5fc07a8 100644
--- a/test cases/python/3 cython/meson.build
+++ b/test cases/python/3 cython/meson.build
@@ -10,14 +10,13 @@ if not cython.found()
error('MESON_SKIP_TEST: Cython3 not found.')
endif
-py3_dep = dependency('python3', required : false)
+py_mod = import('python')
+py3 = py_mod.find_installation()
+py3_dep = py3.dependency(required: false)
if not py3_dep.found()
error('MESON_SKIP_TEST: Python library not found.')
endif
-py_mod = import('python')
-py3 = py_mod.find_installation()
-py3_dep = py3.dependency()
subdir('libdir')
test('cython tester',
diff --git a/test cases/python/4 custom target depends extmodule/meson.build b/test cases/python/4 custom target depends extmodule/meson.build
index ccccdaf..d8a62ed 100644
--- a/test cases/python/4 custom target depends extmodule/meson.build
+++ b/test cases/python/4 custom target depends extmodule/meson.build
@@ -12,6 +12,10 @@ py3 = py_mod.find_installation()
py3_dep = py3.dependency(required : false)
cc = meson.get_compiler('c')
+if not py3_dep.found()
+ error('MESON_SKIP_TEST: Python3 libraries not found, skipping test.')
+endif
+
# Copy to the builddir so that blaster.py can find the built tachyon module
# FIXME: We should automatically detect this case and append the correct paths
# to PYTHONLIBDIR
@@ -24,21 +28,18 @@ import os, sys
with open(sys.argv[1], 'rb') as f:
assert(f.read() == b'success')
'''
-if py3_dep.found()
- message('Detected Python version: ' + py3_dep.version())
- if py3_dep.version().version_compare('>=3.8') and cc.get_id() == 'msvc' and cc.version().version_compare('<=19.00.24215.1')
- error('MESON_SKIP_TEST: Python modules do not work with Python 3.8 and VS2015 or earlier.')
- endif
- subdir('ext')
-
- out_txt = custom_target('tachyon flux',
- input : blaster_py,
- output : 'out.txt',
- command : [py3, '@INPUT@', '-o', '@OUTPUT@'],
- depends : pylib,
- build_by_default: true)
-
- test('flux', py3, args : ['-c', check_exists, out_txt])
-else
- error('MESON_SKIP_TEST: Python3 libraries not found, skipping test.')
+
+message('Detected Python version: ' + py3_dep.version())
+if py3_dep.version().version_compare('>=3.8') and cc.get_id() == 'msvc' and cc.version().version_compare('<=19.00.24215.1')
+ error('MESON_SKIP_TEST: Python modules do not work with Python 3.8 and VS2015 or earlier.')
endif
+subdir('ext')
+
+out_txt = custom_target('tachyon flux',
+ input : blaster_py,
+ output : 'out.txt',
+ command : [py3, '@INPUT@', '-o', '@OUTPUT@'],
+ depends : pylib,
+ build_by_default: true)
+
+test('flux', py3, args : ['-c', check_exists, out_txt])