pythonmultithreadingunit-testingperformancemulticore

How can I speed up Python's 'unittest' on multicore machines?


I'm using the Python unittest in order to test some other external application, but it takes too much time to run the tests one by one.

How can I speed up this process by using the power of multicore CPUs? Can I tweak unittest to execute tests in parallel? How?

This question is not about the Python GIL limitation, because in fact it is not the Python code that takes time, but the external application that I execute, currently via os.system().


Solution

  • If your tests are not too involved, you may be able to run them using py.test which has support for distributed testing. If you are not running on Windows, then nose might also work for you.