Parallel execution of unittests
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Tue May 6 10:43:19 PDT 2014
On Monday, 5 May 2014 at 18:58:37 UTC, Andrei Alexandrescu wrote:
> On 5/5/14, 11:47 AM, Dicebot wrote:
>> On Monday, 5 May 2014 at 18:29:40 UTC, Andrei Alexandrescu
>> wrote:
>>> My understanding here is you're trying to make dogma out of
>>> engineering choices that may vary widely across projects and
>>> organizations. No thanks.
>>>
>>> Andrei
>>
>> I am asking to either suggest an alternative solution or to
>> clarify why
>> you don't consider it is an important problem.
>
> "Clean /tmp/ judiciously."
This is solution for "failing test" problem. Problem I speak
about is "figuring out why test has failed".
> The problem with your stance, i.e.:
>
>> "Unittests should do no I/O because any sort of I/O can fail
>> because
>> of reasons you don't control from the test suite" is an
>> appropriate
>> generalization of my statement.
>
> is that it immediately generalizes into the unreasonable:
>
> "Unittests should do no $X because any sort of $X can fail
> because of reasons you don't control from the test suite".
>
> So that gets into machines not having any memory available,
> with full disks etc.
It is great you have mentioned RAM here as it nicely draws a
border-line. Being out of memory throws specific Error which is
unlikely to be caught and clearly identifies problem. Disk I/O
failure throws Exception which can be easily consumed somewhere
inside tested control flow resulting in absolutely mysterious
test failures. It is borderline of Error vs Exception - fatal
problem incompatible with further execution and routine problem
application is expected to handle.
> Just make sure test machines are prepared for running unittests
> to the extent unittests are expecting them to. We're wasting
> time trying to frame this as a problem purely related to
> unittests alone.
Again: you don't have control of test machines for something like
language standard library. It is not purely unittest problem, it
is problem hard to solve staying within infrastructure of
unittests.
More information about the Digitalmars-d
mailing list