Currently ExUnit.configuration only exposes config values that the user has
explicitly set. That means that if you pass --seed,
ExUnit.configuration[:seed] will be available, but if you do not pass --seed,
and allow ExUnit to set the seed, it will not be available.
I’ve got a test that winds up involving some randomization. in the off
chance that a particular random value cause the test to fail, I’d like to
seed randomization in the test setup with the same seed that ExUnit is
already using, but it’s difficult since ExUnit.configuration[:seed] is not
always available. I came up with a work around in test_helper.exs:
existing_or_new_seed =
case ExUnit.configuration[:seed] do
nil -> :os.timestamp |> elem(2)
existing_seed -> existing_seed
end
ExUnit.configure(seed: existing_or_new_seed)
…but it feels like I shouldn’t have to jump through those hoops. (And it’s
unfortunate that I’ve had to copy the code to provide a seed from ExUnit).
Would the Elixir team be amenable to a PR that ensures that
ExUnit.configuration[:seed] is always available, regardless of whether
ExUnit set the value or the user set the value via --seed?
Thanks!
Myron
--
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/CADUxQmu6M%3D%3D9_98PpFDGBX5GdCj%2BORRBmz_6TemEXvxzgCjJTg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.