Hi Leah, Bob,
 
at first glace i'd vaugely guess that the interaction with the _setupstate of the session prevents rerunning the setup.
My hypothesis is that the setupstate after the test protocol is the same as before a test call,
thus the next time setup is not executed due to already being set up.
 
However i cant look into it in detail and verify my assumption till next week, since im currently traveling.
 
i hope the hint will provide you with enough to debug the problem further
 
-- Ronny
 
Gesendet: Samstag, 20. April 2013 um 05:55 Uhr
Von: "Leah Klearman" <[email protected]>
An: "Bob Silverberg" <[email protected]>, pytest-dev <[email protected]>
Betreff: Re: [pytest-dev] [pytest-rerunfailures] pytest-rerunfailures not using fixtures on reruns (#10)
Hi Holger and other py.test mavens,
 
Bob has reported a problem with my py.test plugin pytest-rerunfailures [1] not re-running the setup before rerunning the test.
 
Looking at my code, it has pytest_runtest_protocol() [2] looping on _pytest.runner.runtestprotocol() [3], which in turn runs the setup, the test, and the teardown.
 
 
I haven't taken the hours needed to get my head fully into py.test plugin development mode, but I'm not sure I can implement a fix at my layer.
 
I'm hoping someone here will have some insight.
 
Thanks,
-Leah
 
On Sun, Apr 14, 2013 at 6:29 PM, Bob Silverberg <[email protected]> wrote:

I just verified this behaviour myself with a simple test [1]. I see it with both funcargs and fixtures, but I'm not sure if it has to do with the plugin, or the way py.test works. It does inject the value into the test method, but it doesn't rerun the fixture, so it seems like it is caching the first run of the fixture and using that on subsequent runs.

I'm not sure if this is something that the plugin can have any effect on, or if it's just the way fixtures work. It is specified for this fixture that it is scope='function', and perhaps py.test makes that happen by checking the function name, which is, of course, the same for each run. I did try removing the scope argument from the fixture but that had no effect.

Do you have any thoughts about this, @klrmn?

[1] https://gist.github.com/bobsilverberg/5385035


Reply to this email directly or view it on GitHub.

_______________________________________________
Pytest-dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pytest-dev

Reply via email to