Skip to content

Commit 5a2f780

Browse files
committed
Use pytest
1 parent 17ed529 commit 5a2f780

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

meson.build

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ project('cysignals', 'c', 'cpp', 'cython',
33
)
44

55
# Python
6-
py = import('python').find_installation(pure: false)
6+
py_module = import('python')
7+
py = py_module.find_installation(pure: false)
78
py_dep = py.dependency()
89

910
# Compilers
@@ -103,7 +104,18 @@ else
103104
threads_dep = dependency('threads')
104105
endif
105106

106-
test('doctests', py, args: ['-B', 'rundoctests.py', 'src/cysignals/*.pyx'], workdir: meson.current_source_dir())
107-
test('example', py, args: ['-m build', '--no-build-isolation', 'example'], workdir: meson.current_source_dir())
108-
109107
subdir('src')
108+
109+
pytest = py_module.find_installation(modules: ['pytest'], required: false)
110+
if pytest.found()
111+
test('pytest', pytest, args: ['-m', 'pytest', test_files], workdir: meson.current_source_dir())
112+
else
113+
message('pytest not found, skipping tests')
114+
endif
115+
116+
build = py_module.find_installation(modules: ['build'], required: false)
117+
if build.found()
118+
test('example', py, args: ['-m', 'build', '--no-isolation', 'example'], workdir: meson.current_source_dir())
119+
else
120+
message('build not found, skipping example')
121+
endif

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ wheel
55
Cython
66
Sphinx
77
flake8
8+
pytest

src/cysignals/meson.build

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,16 @@ extensions = {
1717
'signals': files('signals.pyx'),
1818
}
1919

20+
test_files = []
21+
2022
foreach name, pyx : extensions
2123
if name != 'signals' and is_windows
2224
# These modules are not supported on Windows
2325
continue
2426
endif
2527

28+
test_files += pyx
29+
2630
# Platform-specific source files
2731
extra_sources = []
2832
if is_cygwin and name == 'signals'

0 commit comments

Comments
 (0)