concurrencytest =============== ![testing goats](https://raw.github.com/cgoldberg/concurrencytest/master/testing-goats.png "testing goats") Python testtools extension for running unittest suites concurrently. ---- Install from PyPI: ``` pip install concurrencytest ``` ---- Requires: * [testtools](https://pypi.python.org/pypi/testtools) : `pip install testtools` * [python-subunit](https://pypi.python.org/pypi/python-subunit) : `pip install python-subunit` ---- Example: ```python import time import unittest from concurrencytest import ConcurrentTestSuite, fork_for_tests class SampleTestCase(unittest.TestCase): """Dummy tests that sleep for demo.""" def test_me_1(self): time.sleep(0.5) def test_me_2(self): time.sleep(0.5) def test_me_3(self): time.sleep(0.5) def test_me_4(self): time.sleep(0.5) # Load tests from SampleTestCase defined above suite = unittest.TestLoader().loadTestsFromTestCase(SampleTestCase) runner = unittest.TextTestRunner() # Run tests sequentially runner.run(suite) # Run same tests across 4 processes suite = unittest.TestLoader().loadTestsFromTestCase(SampleTestCase) concurrent_suite = ConcurrentTestSuite(suite, fork_for_tests(4)) runner.run(concurrent_suite) ``` Output: ``` .... ---------------------------------------------------------------------- Ran 4 tests in 2.003s OK .... ---------------------------------------------------------------------- Ran 4 tests in 0.504s OK ```