I have a CMake based project that uses both C++ and python sources. Tests are added via add_test
for all C++ tests in a folder structure like:
src
mynamespace/foo.cpp
mypyspace/mypkg/__init__.py
mypyspace/mypkg/bar.py
test
mynamespace/testFoo.cpp
mypyspace/testBar.py
In testBar.py
I have a import mypkg
and want to run this with add_test(... COMMAND pytest WORKING_DIRECTORY .../test)
Of course it does not find my package, but I also do not want to install it (it is required to generate some stuff during build and is actively developed as part of the other sources).
What is the correct/preferred way of executing those tests?
Notes:
- I don't want to move the sources out of
src
or tests out oftest
set_tests_properties
may set environment variables.
I think setting PYTHONPATH=.../src/mypyspace
should work, but that would also ignore changes to the users PYTHONPATH
.