On Thu, Sep 18, 2014 at 20:51 +0200, Anatoly Bubenkov wrote: > hmm, but that grouping is not important for session scoped fixtures, right? > i mean, what's the sense of tearing down the session-scoped fixture, even > if most likely it will be not used by any test, earlier than the end of the > session?
Parametrized session-scoped fixtures, for example, may depend on being torn down, not all be active at the same time. In any case, it's part of a general scheme to teardown fixtures as early as possible, not as late as possible. We can discuss/play with that and introduce an option which prohibits it, possibly. best, holger P.S: i bet you are using gmail, right? (because of your top-level posting style -- i often prefer inlined comments because it allows to get statements in context). > it should be ok for that fixture to live till the end of the session, and > then any randomization should not matter > i agree that for modules and classes grouping is nice, though > > > On 18 September 2014 20:46, holger krekel <[email protected]> wrote: > > > On Thu, Sep 18, 2014 at 20:35 +0200, Anatoly Bubenkov wrote: > > > yes per testing subprocess, as i've already asked in the comments section > > > on the paylogic developer portal, im waiting for your confirmation that's > > > NOT by design that we were getting multiple test sessions per test > > > subprocess > > > so i'll need to fix the article then > > > > yes, it's not by design. It was more an implementation incident. > > > > > BTW: now im reading the code again, it looks like even with randomization > > > plugin it should not matter? > > > > pytest relies on the following property of test collections: if a test > > at index I1 uses a session-scoped fixture X and at an index I2>I1 X is not > > used than for any I3>I2 X will not be used, either. If this is not > > true for any given testing process then the fixture will be torn down > > and setup again (at I3). pytest groups tests so in general this property > > is true (see here: > > > > https://pytest.org/latest/fixture.html#automatic-grouping-of-tests-by-fixture-instances > > for how it groups). > > > > If you have multiple parametrized session-scoped fixtures (not very common) > > or item randomization the above property is likely not true but that > > already > > is true then for single-process execution. > > > > best, > > holger > > > > > On 18 September 2014 20:31, holger krekel <[email protected]> wrote: > > > > > > > On Thu, Sep 18, 2014 at 20:24 +0200, Anatoly Bubenkov wrote: > > > > > so, this is again guaranteed that there will be only one session per > > test > > > > > run on any test slave? > > > > > > > > there is always one session object only but i think you are asking if a > > > > session-scoped fixture will only be instantiated once per testing > > > > subprocess, right? In general this should be the case if i am not > > missing > > > > something (when you use a test randomization plugin, then it's probably > > > > not the case). > > > > > > > > best, > > > > holger > > > > > > > > > On 18 September 2014 20:23, Anatoly Bubenkov <[email protected]> > > > > wrote: > > > > > > > > > > > Great! > > > > > > thanks a lot everyone involved > > > > > > > > > > > > On 18 September 2014 20:21, holger krekel <[email protected]> > > wrote: > > > > > > > > > > > >> > > > > > >> I just released pytest-xdist-1.11, the distributed testing plugin > > for > > > > > >> pytest. > > > > > >> It introduces automatic restarting of crashed nodes, courtesy of a > > > > > >> complete PR from Floris Bruynooghe. This also works well together > > > > with > > > > > >> pytest-timeout by the same author: When one or more test functions > > > > hang > > > > > >> or crash, the overall test run will still complete and report > > about > > > > the > > > > > >> incidents. See the changelog below for more changes and the pypi > > > > > >> project page for what pytest-xdist offers in general: > > > > > >> > > > > > >> https://pypi.python.org/pypi/pytest-xdist/ > > > > > >> > > > > > >> Thanks also to an undisclosed company who partly funded the work > > > > > >> and to Andreas Pelme for contributing analysis of a fixture > > caching > > > > > >> failure including a test. > > > > > >> > > > > > >> best, > > > > > >> Holger Krekel > > > > > >> > > > > > >> > > > > > >> 1.11 > > > > > >> ------------------------- > > > > > >> > > > > > >> - fix pytest/xdist issue485 (also depends on py-1.4.22): > > > > > >> attach stdout/stderr on --boxed processes that die. > > > > > >> > > > > > >> - fix pytest/xdist issue503: make sure that a node has usually > > > > > >> two items to execute to avoid scoped fixtures to be torn down > > > > > >> pre-maturely (fixture teardown/setup is "nextitem" sensitive). > > > > > >> Thanks to Andreas Pelme for bug analysis and failing test. > > > > > >> > > > > > >> - restart crashed nodes by internally refactoring setup handling > > > > > >> of nodes. Also includes better code documentation. > > > > > >> Many thanks to Floris Bruynooghe for the complete PR. > > > > > >> > > > > > >> _______________________________________________ > > > > > >> Pytest-dev mailing list > > > > > >> [email protected] > > > > > >> https://mail.python.org/mailman/listinfo/pytest-dev > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Anatoly Bubenkov > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Anatoly Bubenkov > > > > > > > > > > > > > > > > -- > > > Anatoly Bubenkov > > > > > > -- > Anatoly Bubenkov _______________________________________________ Pytest-dev mailing list [email protected] https://mail.python.org/mailman/listinfo/pytest-dev
