I agree with Shane. If you want to do this in your test suite (without a clean VM), I'd recommend creating an Elixir library that abstracts the `1..rerun_count |> Enum.each(current_test_function)` functionality that you require. I think that would be a better way to allow people that /really/ want it to use this technique, while not implicitly encouraging people to resort to this logic in the way it would do when it were added as a built-in ExUnit feature.
~Marten On 20-10-2020 22:45, Austin Ziegler wrote: > I agree that this is fairly easy to do in shell script, but that > results in a clean VM every time. This is intended to find that rare > case where an error only shows up with repeated executions on the VM, > not as a “run this repeatedly until it works”. It’s more of a “run > this until it breaks, up to N times”. > > I’m not sure that this is substantially better than modifying the test > suite in this case, but it’s not a bad idea. > > On Tue, Oct 20, 2020 at 12:25 PM [email protected] > <mailto:[email protected]> <[email protected] > <mailto:[email protected]>> wrote: > > I feel this is better addressed through simple shell automation, > which has probably a dozen different ways to solve for this. > Blessing the idea of "just try again" as an actual ExUnit feature > implicitly encourages community/developer tolerance of this kind > of circumstance when all practical efforts should be made to > eliminate it from the code first, wherever the problem actually > originates. If those efforts fail, then fall back on surrounding > it with retry logic on a case-by-case basis. I would personally > discourage use of such a feature if it existed. > > Shane Sveller > > On Monday, October 19, 2020 at 9:30:34 PM UTC-5 > [email protected] <mailto:[email protected]> wrote: > > *Problem*: > for heisnbugs and race conditions it is useful to rerun a set > of tests a number of times. > Currently you must alter the suite(s) to wrap the the test(s) > in `Enum`s which is obvioiusly tedious > > *Naive Implementation Proposal*: > Add a `--rerun-count` command line option that would default > to 1 but wrap the test run with `1..<rerun-count> |> Enum( > current_test_runner_parent_function )` > > -- > You received this message because you are subscribed to the Google > Groups "elixir-lang-core" group. > To unsubscribe from this group and stop receiving emails from it, > send an email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > > https://groups.google.com/d/msgid/elixir-lang-core/3581cdf4-4d23-41d1-afaa-151995e450f8n%40googlegroups.com > > <https://groups.google.com/d/msgid/elixir-lang-core/3581cdf4-4d23-41d1-afaa-151995e450f8n%40googlegroups.com?utm_medium=email&utm_source=footer>. > > > > -- > Austin Ziegler • [email protected] <mailto:[email protected]> • > [email protected] <mailto:[email protected]> > http://www.halostatue.ca/ • http://twitter.com/halostatue > -- > You received this message because you are subscribed to the Google > Groups "elixir-lang-core" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQvmO_sO-QuqbxAbaOZc_Y8PVx7t64PFWU40YSk4ttordg%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQvmO_sO-QuqbxAbaOZc_Y8PVx7t64PFWU40YSk4ttordg%40mail.gmail.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/0c3d2f27-daea-4c1f-f660-a5258f1afe21%40resilia.nl.
signature.asc
Description: OpenPGP digital signature
