std.experimental.testing formal review
Atila Neves via Digitalmars-d
digitalmars-d at puremagic.com
Tue Sep 15 10:28:58 PDT 2015
On Tuesday, 15 September 2015 at 08:27:29 UTC, Dicebot wrote:
> On Sunday, 13 September 2015 at 10:44:30 UTC, Atila Neves wrote:
>>> 2) being able to do weak ordering of tests (by defining
>>> strict sequence of groups so that
>>> parallelization/randomization only happens within such group)
>>> - I have used something as simple as numerical priority value
>>> so far for my needs
>>
>> There's `@singleThreaded` for that: all tests in a module with
>> that UDA run in series (other modules are still run in
>> parallel). I didn't think one was needed for random ordering.
>>
>> Atila
>
> I had inverse thing in mind - all tests within a module / block
> run in parallel, but blocks run sequentially. It is not a good
> feature for unit tests but quite important one to higher level
> ones which deal with nasty environment issues.
I'm not sure we're understanding each other. With the current
implementation and a module like this:
@singleThreaded
@name("serial1") unittest { ... }
@singleThreaded
@name("serial2") unittest { ... }
@name("parallel1") unittest {... }
@name("parallel2") unittest { ...}
3 tasks would get scheduled in parallel: parallel1, parallel2,
and a composite task that does serial1 then serial2. If there are
any other modules, all of the other tests run in parallel with
these 3 tasks.
I'm proposing to extend the same behaviour to randomised running
of tests, but if that's the case the name would change.
Atila
More information about the Digitalmars-d
mailing list