Hi ;)
Recently I'm trying to get the test coverage to 100% on a windows machine, but it doesn't want to. My code under test uses an event-loop driven by a concurrent.futures.ProcessPoolExecutor. Coverage is 100% on a Linux machine, but not on Windows.
PR:
coala/coala#4475
Build on AppVeyor:
https://ci.appveyor.com/project/coala/coala/build/1.0.7774
Same build but on Linux (Travis):
https://travis-ci.org/coala/coala/builds/254572218?utm_source=github_status&utm_medium=notification
Relevant Python module/components under test:
https://github.com/coala/coala/tree/8f4113a2f471acf4c0121199c6ebb9b29dfa84ff/coalib/core, specificially
The missing lines are the ones inside def execute_task.
setup.cfg (and yes, coverage is enabled ;D):
https://github.com/coala/coala/blob/8f4113a2f471acf4c0121199c6ebb9b29dfa84ff/setup.cfg#L32
Exchanging the ProcessPoolExecutor with a ThreadPoolExecutor does the trick and produces full coverage. However it would be nice to have everything being tested with a ProcessPoolExecutor (especially due to possible pickling issues on Windows for subprocesses).
Not proven assumption:
I have the feeling that other parts of the code only run through a subprocess is measured properly, only those two modules under test don't work.
Hi ;)
Recently I'm trying to get the test coverage to 100% on a windows machine, but it doesn't want to. My code under test uses an event-loop driven by a
concurrent.futures.ProcessPoolExecutor. Coverage is 100% on a Linux machine, but not on Windows.PR:
coala/coala#4475
Build on AppVeyor:
https://ci.appveyor.com/project/coala/coala/build/1.0.7774
Same build but on Linux (Travis):
https://travis-ci.org/coala/coala/builds/254572218?utm_source=github_status&utm_medium=notification
Relevant Python module/components under test:
https://github.com/coala/coala/tree/8f4113a2f471acf4c0121199c6ebb9b29dfa84ff/coalib/core, specificially
The missing lines are the ones inside
def execute_task.setup.cfg(and yes, coverage is enabled ;D):https://github.com/coala/coala/blob/8f4113a2f471acf4c0121199c6ebb9b29dfa84ff/setup.cfg#L32
Exchanging the
ProcessPoolExecutorwith aThreadPoolExecutordoes the trick and produces full coverage. However it would be nice to have everything being tested with aProcessPoolExecutor(especially due to possible pickling issues on Windows for subprocesses).Not proven assumption:
I have the feeling that other parts of the code only run through a subprocess is measured properly, only those two modules under test don't work.