-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parallel (mpi4py) tests with coverage often lead to INTERNALERROR #237
Comments
This looks like you're using coverage.py 5, and there you're mixing the (new, default) SQLite database with the legacy JSON format. Try using You can also try |
My version of coverage is 4.5.2. I don't get this problem when running anything in serial so I don't think it should be a versionning issue. The reason I think that it's a concurrent write problem is that I have occasionally seen things such as: Using --cov-config doesn't make any difference. Is there anything I need to add to the coveragerc file? Here is the output from
|
With |
I have the multiple outputs but they all say the same thing: My .coveragerc is not very complicated it only contains information about which files to omit and the name of the xml file if it is to be generated:
I have just had another look at the doc and tried adding
to the file. This does not remove the error. I have also tried adding the "concurrency" argument too but I am not sure what to specify as the library.
|
Actually I seem to be getting this error even without the concurrency argument when I set
|
How does this file look then? With |
See pytest-dev/pytest-cov#237 (comment) Also pytest options for Travis CI builds were consolidated in PYTEST_ADDOPTS environment variable.
There is a very easy way to fix this: Don't write to the same coverage file from multiple cores.
and run your tests with:
This will create a separate Note that this also makes it easier to test a package (for example) both in serial and in parallel, and combine all reports into a single one, by doing this:
Finally, also note that the console output when running |
This can be related to nedbat/coveragepy#883 (comment) |
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
This was causing some errors in the integration tests. pytest-dev/pytest-cov#237 Signed-off-by: Filipe Laíns <[email protected]>
When running tests in parallel for a program which uses mpi4py, often an INTERNALERROR is signalled. The error arises due to a corruption of the .coverage file. This seems to be due to a race condition (hence why the error does not always arise). More specifically I think it is due to concurrent write commands.
The command which gave this error was:
mpirun -n 2 py.test pygyro/diagnostics/ -sxm parallel --cov=pygyro
The operating system is linux, ubuntu bionic beaver 18.04.1. I am using python 3.6.6.
The error generated is as follows:
The text was updated successfully, but these errors were encountered: