On 05 Sep 2013, at 16:58, Dmitry Timoshkov wrote:
Jonas Maebe jonas.maebe@elis.ugent.be wrote:
So either
- you add code in between that resets the state so that test2 can be run independently of whether test1 failed (as Wolfgang proposes), or
- you put the tests in completely different executables so they don't influence each other (hopefully), or
- you reorder the test so that first all the tests that currently work under wine are run (under the assumption that no regression will ever creep in), or
- you require that bugs in wine routines are fixed in the order that they are called in that test (which would be strange)
How about a patch set which does: 1/2. add a workaround to the tests to pass under Wine 2/2. fix Wine code and simultaneously remove the workaround added by 1/2.
But that looks even more strange if the fix contained in 2/2 could be sent alone.
I disagree it's a "workaround to make the tests pass under Wine". It's simply good practice to make supposedly unrelated tests actually independent from each other. The fact that this makes some extra tests succeed under Wine simply means that the test code was broken before (unless the only goal was to test whether everything works or not everything works, as opposed to testing whether individual functionality works). And when a regression occurs afterwards, it will also be easier to see what exactly broke by the regression rather than having to add all that code again to make the tests independent from each other once more.
Jonas