nose-devs / nose

nose is nicer testing for python
http://readthedocs.org/docs/nose/en/latest/
1.36k stars 395 forks source link

Support coverage's parallel mode #56

Open jpellerin opened 12 years ago

jpellerin commented 12 years ago

Please integrate my branch at http://code.google.com/r/arveknudsen-cover-parallel. The goal of this branch is to make the coverage plugin able to support coverage's parallel mode.

The motivating scenario was that my tests executed the AUT in subprocesses, so that coverage analysis of the AUT had to happen in parallel mode. In this case, coverage creates one data file per process (.coverage.). I enabled coverage parallel mode in a coverage configuration file.

In order to make this work with nose, I first added an option "--cover-rcfile" to the coverage plugin, so it could be informed of coverage's mode. If coverage is in parallel mode, the plugin combines all the data files before erasing them (if --cover-erase is specified) and before the coverage data is saved. Thanks to this scheme, coverage data from all my AUT subprocesses get included in the nose coverage report.

I have also written a functional test for the coverage plugin.

Google Code Info: Issue #: 352 Author: arve.knu...@gmail.com Created On: 2010-07-20T17:00:32.000Z Closed On:

jpellerin commented 12 years ago

Google Code Info: Author: jpelle...@gmail.com Created On: 2010-07-20T18:04:40.000Z

jpellerin commented 12 years ago

I have added a named branch in this repository, "multiprocess-coverage", which makes coverage analysis work also when the multiprocess plugin is enabled.

Google Code Info: Author: arve.knu...@gmail.com Created On: 2010-08-07T15:09:04.000Z

davidlmorton commented 11 years ago

Is this ever going to make it into master?

parautenbach commented 10 years ago

+1 for this enhancement.

aviau commented 10 years ago

This is important for me, any news? It's been two years already....

@jpellerin I am mostly interrested in the multiprocess-coverage option. Maybe you can open a pull request on github for this?