<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 16, 2019 at 10:07 PM Sergei Nikulov <<a href="mailto:sergey.nikulov@gmail.com">sergey.nikulov@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hello All,<br>
<br>
Has anybody knows how FIXTURES_SETUP/FIXTURES_CLEANUP should work with<br>
--repeat-until-fail <n> option?<br>
<br>
My expectation, if I requesting a test run for example 10 times, the<br>
sequence should be as follows:<br>
<br>
fixture_setup, then test, then fixture_cleanup repeats 10 times<br>
<br>
But in practice, I've got following sequence<br>
<br>
1. fixture_setup runs 10 times<br>
2. test runs 10 times<br>
3. fixture_cleanup runs 10 times<br>
<br>
Is it expected behavior?<br>
I'm using ctest version 3.14.2<br></blockquote><div><br></div><div>The documentation for the --repeat-until-fail option says "Require each test to run <n> times without failing in order to pass". A fixture setup or cleanup test is still a test, so they will also be run <n> times. The logic that implements repeating tests sets up a counter on each test and it runs that test <n> times before marking that test as complete. This is why you see fixture_setup run 10 times, then test runs 10 times and lastly fixture_cleanup runs 10 times.</div><div><br></div><div>Whenever I've wanted to use --repeat-until-fail (admittedly not all that common for me), I'm generally only interested in repeatedly running one particular test. For that case, I would typically run the test once with fixture cleanups disabled (i.e. use a command line "ctest -FC . -R myFlakeyTest"). I can then run ctest again for just my flaky test with all fixtures disabled (e.g. "ctest -FA . -R myFlakeyTest --repeat-until-fail 10"). This strategy won't work for everyone's situation, but it has been effective for me.</div><div> </div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr">Craig Scott<br><div>Melbourne, Australia</div><div><a href="https://crascit.com" target="_blank">https://crascit.com</a><br></div><div><br></div><div>Get the hand-book for every CMake user: <a href="https://crascit.com/professional-cmake/" target="_blank">Professional CMake: A Practical Guide</a><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>