Eric Wilhelm wrote:
> # from Moritz Lenz
> # on Monday 28 July 2008 09:52:
> 
>>> That's not -just- with the patch, though, is it? I presume you've
>>> set TEST_JOBS to be something other than '1' ...
>>
>>I've set it to 2, and obeserve the errors below. With serial testing I
>>get a PASS (r29828).
> 
> Yes.  TEST_JOBS=1 doesn't change anything.
> 
> It looks like most of the tests in t/steps might potentially conflict.
> 
> To smoke out the resource conflicts in the test suite, one would have to 
> run $n jobs -- but that will forkbomb your system.  Another check is to 
> run each against each other with `prove -j 2 $test_n $test_i`

With enough RAM everything is fair game ;-)
I ran it with $n == 20, and identified this list of files:

Test Summary Report
-------------------
t/steps/auto_attributes-01.t               (Wstat: 65280 Tests: 9 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 12 tests but ran 9.
t/steps/auto_alignptrs-07.t                (Wstat: 65280 Tests: 10
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 17 tests but ran 10.
t/steps/auto_ctags-01.t                    (Wstat: 65280 Tests: 9 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 13 tests but ran 9.
t/steps/auto_icu-04.t                      (Wstat: 65280 Tests: 9 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 17 tests but ran 9.
t/steps/auto_warnings-02.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 20 tests but ran 15.
t/steps/auto_warnings-06.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 22 tests but ran 15.
t/steps/auto_warnings-04.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 21 tests but ran 15.
t/steps/auto_warnings-03.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 20 tests but ran 15.
t/steps/auto_snprintf-01.t                 (Wstat: 65280 Tests: 16
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 25 tests but ran 16.
t/steps/auto_warnings-01.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 21 tests but ran 15.
t/steps/auto_warnings-05.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 21 tests but ran 15.
t/steps/auto_warnings-07.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 21 tests but ran 15.
t/steps/auto_warnings-08.t                 (Wstat: 65280 Tests: 15
Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 22 tests but ran 15.
Files=593, Tests=11476, 126 wallclock secs ( 3.37 usr  1.18 sys + 188.19
cusr 38
.98 csys = 231.72 CPU)
Result: FAIL

Running with $n == 30 didn't produce any new failures.

> Tests need to be written defensively for arbitrary parallelization to be 
> possible.  If that's too much coding, the non-optimal "serial within a 
> directory" scheme (or other forms of work division) would have to be 
> used.

How hard is it to implement such changes? I mean if the test builder
already supports it somehow, this might be the easiest change to make.

Moritz

-- 
Moritz Lenz
http://moritz.faui2k3.org/ |  http://perl-6.de/

Reply via email to