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.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to