> There is no way we can expose the seed because it needs to be generated 
*per run*.

Why does the fact that it needs to be generated *per run* mean it cannot be 
exposed?  It's exposed internally to whatever part of ExUnit orders the 
tests, so why can't it be exposed publicly?

On Thursday, May 5, 2016 at 8:49:48 PM UTC-7, Myron Marston wrote:
>
> 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/bdc50824-7c00-4f54-a06f-3b9fbf216703%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to