-
Notifications
You must be signed in to change notification settings - Fork 25
Description
Currently spin test supports --coverage and --gcov arguments for measuring coverage of python or C code respectively. For python-flint the one outstanding item in moving from setuptools to spin/meson is coverage measurement of Cython code.
A meson project needs to have some sort of configuration option for coverage of Cython e.g.:
if get_option('coverage')
add_project_arguments('-X', 'linetrace=True', language : 'cython')
add_project_arguments('-DCYTHON_TRACE=1', language : 'c')
endifIn python-flint's case we need this separately from b_coverage=true and spin's --gcov option because we explicitly do not want to measure coverage of C code (which is all Cython-generated).
I'm not sure what the best approach would be for spin to implement spin test --coverage-cython given that there is not a standard meson option for this.
Maybe spin could configure the CYTHON_TRACE and linetrace directly?
Currently it seems that Cython's coverage plugin does not work in a spin build-install directory which I think is because the plugin tries to look for Cython source files adjacent to the C files. Possibly that is something that needs to be fixed in Cython or maybe it is possible for spin to tell coverage where to find the source files.