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/