In python subprocess.check_output is an easy way to collect child process output. Current implementation does deal with Popen class, which requires more code to get the desired output lines. Beside the simplifications, this patch also introduce a few more tests on active checker logic.
This looks good to me. I've run this on a suite of open source projects and it reported no changes in the reference results. Thanks for simplifying and adding the extra tests!
What's the benefit of using a function attribute here rather than simply closing over a local variable?