diff options
author | Ralf Gommers <ralf.gommers@gmail.com> | 2023-04-21 23:41:45 +0100 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2023-05-05 12:23:52 -0400 |
commit | 91c7e795193792b734563ccef44bf7bfdb8e9b8e (patch) | |
tree | 3f06006ee3f740f7df30b873c03eb7bbc0b4052a /test cases | |
parent | a95ebf10776757664e1c1ad91f662374a31e0133 (diff) | |
download | meson-91c7e795193792b734563ccef44bf7bfdb8e9b8e.zip meson-91c7e795193792b734563ccef44bf7bfdb8e9b8e.tar.gz meson-91c7e795193792b734563ccef44bf7bfdb8e9b8e.tar.bz2 |
Use release buildtype in Cython tests, and skip unless ninja backend
This matches the tests for Python extensions.
Also include some other cleanups to these `meson.build` files:
Adding `python_dep` is no longer needed, this is automatic now.
Use a single line for `import('python').find_installation()`,
because the result of `import('python')` by itself is not used
for anything.
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/cython/1 basic/meson.build | 9 | ||||
-rw-r--r-- | test cases/cython/2 generated sources/meson.build | 17 | ||||
-rw-r--r-- | test cases/cython/3 cython_args/meson.build | 17 | ||||
-rw-r--r-- | test cases/python/3 cython/libdir/meson.build | 4 | ||||
-rw-r--r-- | test cases/python/3 cython/meson.build | 7 |
5 files changed, 33 insertions, 21 deletions
diff --git a/test cases/cython/1 basic/meson.build b/test cases/cython/1 basic/meson.build index 8c24e23..81a24f5 100644 --- a/test cases/cython/1 basic/meson.build +++ b/test cases/cython/1 basic/meson.build @@ -1,11 +1,14 @@ project( 'basic cython project', ['cython', 'c'], - default_options : ['warning_level=3'] + default_options : ['warning_level=3', 'buildtype=release'], ) -py_mod = import('python') -py3 = py_mod.find_installation() +if meson.backend() != 'ninja' + error('MESON_SKIP_TEST: Ninja backend required') +endif + +py3 = import('python').find_installation() py3_dep = py3.dependency(required : false) if not py3_dep.found() error('MESON_SKIP_TEST: Python library not found.') diff --git a/test cases/cython/2 generated sources/meson.build b/test cases/cython/2 generated sources/meson.build index 498e319..4b0bf73 100644 --- a/test cases/cython/2 generated sources/meson.build +++ b/test cases/cython/2 generated sources/meson.build @@ -1,12 +1,16 @@ project( 'generated cython sources', ['cython'], + default_options : ['buildtype=release'], ) -py_mod = import('python') -py3 = py_mod.find_installation('python3') -py3_dep = py3.dependency(required : false) +if meson.backend() != 'ninja' + error('MESON_SKIP_TEST: Ninja backend required') +endif + fs = import('fs') +py3 = import('python').find_installation('python3') +py3_dep = py3.dependency(required : false) if not py3_dep.found() error('MESON_SKIP_TEST: Python library not found.') endif @@ -18,7 +22,7 @@ ct = custom_target( command : [py3, '@INPUT@', '@OUTPUT@'], ) -ct_ext = py3.extension_module('ct', ct, dependencies : py3_dep) +ct_ext = py3.extension_module('ct', ct) test( 'custom target', @@ -35,7 +39,7 @@ cti = custom_target( command : [py3, '@INPUT@', '@OUTPUT@'], ) -cti_ext = py3.extension_module('cti', cti[0], dependencies : py3_dep) +cti_ext = py3.extension_module('cti', cti[0]) cf = configure_file( input : 'configure.pyx.in', @@ -43,7 +47,7 @@ cf = configure_file( copy : true, ) -cf_ext = py3.extension_module('cf', cf, dependencies : py3_dep) +cf_ext = py3.extension_module('cf', cf) test( 'configure file', @@ -61,7 +65,6 @@ gen = generator( g_ext = py3.extension_module( 'g', gen.process('g.in'), - dependencies : py3_dep, ) test( diff --git a/test cases/cython/3 cython_args/meson.build b/test cases/cython/3 cython_args/meson.build index e41d1b7..45cbbbb 100644 --- a/test cases/cython/3 cython_args/meson.build +++ b/test cases/cython/3 cython_args/meson.build @@ -1,7 +1,14 @@ -project('cython_args', ['cython', 'c']) +project('cython_args', ['cython', 'c'], + # Needed because Windows Python builds are release-only and tend to be + # unhappy with a debug build type. + default_options : ['buildtype=release'] +) + +if meson.backend() != 'ninja' + error('MESON_SKIP_TEST: Ninja backend required') +endif -pymod = import('python') -python = pymod.find_installation('python3') +python = import('python').find_installation('python3') python_dep = python.dependency() if not python_dep.found() error('MESON_SKIP_TEST: Python library not found.') @@ -12,9 +19,9 @@ mod = python.extension_module( files('cythonargs.pyx'), cython_args: [ '--compile-time-env', - 'VALUE=1' + 'VALUE=1', + '-3', ], - dependencies: [python_dep] ) test( diff --git a/test cases/python/3 cython/libdir/meson.build b/test cases/python/3 cython/libdir/meson.build index 2b6ebc7..d148b00 100644 --- a/test cases/python/3 cython/libdir/meson.build +++ b/test cases/python/3 cython/libdir/meson.build @@ -1,11 +1,11 @@ pyx_c = custom_target('storer_pyx', output : 'storer_pyx.c', input : 'storer.pyx', - command : [cython, '@INPUT@', '-o', '@OUTPUT@'], + command : [cython, '@INPUT@', '-o', '@OUTPUT@', '-3'], ) slib = py3.extension_module('storer', 'storer.c', pyx_c, - dependencies : py3_dep) +) pydir = meson.current_build_dir() diff --git a/test cases/python/3 cython/meson.build b/test cases/python/3 cython/meson.build index 5fc07a8..8ff8d51 100644 --- a/test cases/python/3 cython/meson.build +++ b/test cases/python/3 cython/meson.build @@ -1,6 +1,6 @@ project('cython', 'c', - default_options : ['warning_level=3']) - + default_options : ['warning_level=3', 'buildtype=release'] +) if meson.backend() != 'ninja' error('MESON_SKIP_TEST: Ninja backend required') endif @@ -10,8 +10,7 @@ if not cython.found() error('MESON_SKIP_TEST: Cython3 not found.') endif -py_mod = import('python') -py3 = py_mod.find_installation() +py3 = import('python').find_installation(pure: false) py3_dep = py3.dependency(required: false) if not py3_dep.found() error('MESON_SKIP_TEST: Python library not found.') |