doc: Add troubleshooting for Cythonized code and pytest (#293069)

Cython is a Python compiler that emits native .so modules. By default, python derivations run tests in the wrong directory to see these modules and tests fail.

Issue #255262 documents the root cause and solution for this problem.

This PR adds a description of the problem and the most common solution to the test troubleshooting list.
This commit is contained in:
Sarah Clark 2024-03-20 06:21:09 -07:00 committed by GitHub
parent d60c069a65
commit 2f7f71ea58
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2014,6 +2014,10 @@ example of such a situation is when `py.test` is used.
* Tests that attempt to access `$HOME` can be fixed by using the following
work-around before running tests (e.g. `preCheck`): `export HOME=$(mktemp -d)`
* Compiling with Cython causes tests to fail with a `ModuleNotLoadedError`.
This can be fixed with two changes in the derivation: 1) replacing `pytest` with
`pytestCheckHook` and 2) adding a `preCheck` containing `cd $out` to run
tests within the built output.
## Contributing {#contributing}