I might be missing something very fundamental here, but tests are not running in parallel on my side, as you may see tests are taking 4 seconds-ish:
$ py.test -vs test_dummy.py -n 2 ====================================================================================== test session starts ======================================================================================= platform linux2 -- Python 2.7.3 -- py-1.4.26 -- pytest-2.6.4 -- /usr/bin/python plugins: xdist [gw0] linux2 Python 2.7.3 cwd: /home/gmagno/Desktop/pytest [gw1] linux2 Python 2.7.3 cwd: /home/gmagno/Desktop/pytest [gw0] Python 2.7.3 (default, Feb 27 2014, 20:00:17) -- [GCC 4.6.3] [gw1] Python 2.7.3 (default, Feb 27 2014, 20:00:17) -- [GCC 4.6.3] gw0 [2] / gw1 [2] scheduling tests via LoadScheduling test_dummy.py::test_dummy1[a1] [gw1] PASSED test_dummy.py::test_dummy1[a1] test_dummy.py::test_dummy1[a2] [gw1] PASSED test_dummy.py::test_dummy1[a2] ==================================================================================== 2 passed in 4.47 seconds ==================================================================================== Cheers, Gonçalo On Sat, Dec 6, 2014 at 8:52 PM, Bruno Oliveira <nicodde...@gmail.com> wrote: > Thanks for the example. > > I tried and it seems that xdist is running the tests in parallel: the more > CPUs I use, the fastest the test suite runs. Do you see a different > behavior? > > Cheers, > > On Sat, Dec 6, 2014 at 5:12 PM, Goncalo Morgado <goncalo.ma...@gmail.com> > wrote: > >> To better depict what I am saying follows some code. >> >> $ sudo pip install pytest >> $ sudo pip install pytest-xdist >> $ py.test -vs test_dummy.py -n 2 >> >> >> #!/usr/bin/env python >> >> """ >> This is test_dummy.py >> """ >> import pytest >> import time >> >> @pytest.fixture(scope="function", params=["a1", "a2"]) >> def fix_dummy(request): >> print "fix_dummy: parameter: %s" % (request.param, ) >> return request.param >> >> def test_dummy1(fix_dummy): >> print "parameter from fix_dummy: %s" %(fix_dummy, ) >> time.sleep(2) >> >> >> Cheers, >> Gonçalo >> >> >> >> On Sat, Dec 6, 2014 at 6:45 PM, Goncalo Morgado <goncalo.ma...@gmail.com> >> wrote: >> >>> >>> pytest-xdist helped me to run different tests in multiple CPUs, for >>> instance test_foo() and test_bar() would easily be run in two CPUs with >>> pytest-xdist. The problem is when you have test_foobar(some_fixture), where >>> some_fixture is parametrized with, let's say two parameters ["a", "b"], >>> which will lead to two different test runs of test_foobar(). The challenge >>> is to have these two test runs running in two CPUs. >>> >>> Cheers >>> Gonçalo >>> >>> >>> On Sat, Dec 6, 2014 at 6:30 PM, Bruno Oliveira <nicodde...@gmail.com> >>> wrote: >>> >>>> Have you tried using pytest-xdist? >>>> >>>> Cheers, >>>> >>>> On Sat, Dec 6, 2014 at 4:26 PM, Goncalo Morgado < >>>> goncalo.ma...@gmail.com> wrote: >>>> >>>>> >>>>> Hi pytest community, >>>>> >>>>> I am not sure this is the right place to ask this, and I am sorry if >>>>> it's not. >>>>> I am trying to make use of multiple CPUs to run my tests, which I can >>>>> for separately defined tests (different test_ functions for instance). >>>>> *The >>>>> challenge is to run tests, generated from one single test_ function which >>>>> fixture it depends on is parametrized with multiple parameters, on >>>>> multiple >>>>> CPUs*. >>>>> Currently I have this test that generates more than a thousand tests >>>>> (because of the parametrized fixture it depends on) and ends up being very >>>>> time consuming to run in one single CPU. >>>>> >>>>> Thanks for this great tool that is pytest! >>>>> >>>>> Cheers, >>>>> Gonçalo >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> pytest-dev mailing list >>>>> pytest-dev@python.org >>>>> https://mail.python.org/mailman/listinfo/pytest-dev >>>>> >>>>> >>>> >>> >> >
_______________________________________________ pytest-dev mailing list pytest-dev@python.org https://mail.python.org/mailman/listinfo/pytest-dev