[petsc-dev] testing in parallel

Jed Brown jed at jedbrown.org
Tue Apr 23 00:00:15 CDT 2019


I don't know how this would happen and haven't noticed it myself.
Perhaps Scott can help investigate.  It would help to know which tests
run in each case.  To debug, I would make a dry-run or skip-all mode
that skips actually running the tests and just reports success (or
skip).

Stefano Zampini <stefano.zampini at gmail.com> writes:

> The print-test target seems ok wrt race conditions
>
> [szampini at localhost petsc]$ make -j1 -f gmakefile.test print-test  globsearch="mat*" | wc 
>       1     538   11671
> [szampini at localhost petsc]$ make -j20 -f gmakefile.test print-test  globsearch="mat*" | wc 
>       1     538   11671
>
> However, if I run the tests, I get two different outputs
>
> [szampini at localhost petsc]$ make -j20 -f gmakefile.test test globsearch="mat*"
> [..]
> # -------------
> #   Summary    
> # -------------
> # success 1226/1312 tests (93.4%)
> # failed 0/1312 tests (0.0%)
> # todo 6/1312 tests (0.5%)
> # skip 80/1312 tests (6.1%)
>
> [szampini at localhost petsc]$ make -j20 -f gmakefile.test test globsearch="mat*"
> [..]
> # -------------
> #   Summary    
> # -------------
> # success 990/1073 tests (92.3%)
> # failed 0/1073 tests (0.0%)
> # todo 6/1073 tests (0.6%)
> # skip 77/1073 tests (7.2%)
>
>> On Apr 22, 2019, at 8:12 PM, Jed Brown <jed at jedbrown.org> wrote:
>> 
>> Stefano Zampini via petsc-dev <petsc-dev at mcs.anl.gov> writes:
>> 
>>> Scott,
>>> 
>>> I have noticed that make -j20 -f gmakefile.test test globsearch="mat*" does
>>> not always run the same number of tests. How hard is to fix this race
>>> condition in the generation of the rules?
>> 
>> Can you reproduce with the print-test target?  These are just running
>> Python to create a list of targets, and should all take place before
>> executing rules.


More information about the petsc-dev mailing list