Closed ppisar closed 2 years ago
This is a full reproducer:
AUTOMATED_TESTING=1 HARNESS_OPTIONS=j5 T2_HARNESS_JOB_COUNT=1 make test
Unsetting AUTOMATED_TESTING or HARNESS_OPTIONS disappears the failure.
A smaller reproducer is "AUTOMATED_TESTING=1 prove -l -j5 -r t/integration".
Now I got a different failure pertaining ./.test_info.json:
# Failed test 'Exit Value Check'
# at t/integration/coverage.t line 344.
# +-----+----+-------+
# | GOT | OP | CHECK |
# +-----+----+-------+
# | 512 | eq | 0 |
# +-----+----+-------+
# Failed test 'Test got the correct input about what subtests to run'
# at t/integration/coverage.t line 323.
# +-------------------------------+------------------+--------+
# | PATH | GOT | CHECK |
# +-------------------------------+------------------+--------+
# | {t/integration/coverage/a.tx} | <DOES NOT EXIST> | <HASH> |
# | {t/integration/coverage/c.tx} | <DOES NOT EXIST> | <HASH> |
# +-------------------------------+------------------+--------+
# Failed test 'Skipped mia1 because it does not exist'
# at t/integration/coverage.t line 334.
# +-------------------------------+----+-------------------------------+
# | GOT | OP | CHECK |
# +-------------------------------+----+-------------------------------+
# | ./.test_info.json.pend -> ./. | =~ | (?^:Coverage wants to run tes |
# | test_info.json: No such file | | t 't/integration/coverage/mia |
# | or directory at /builddir/bui | | 1\.tx', but it does not exist |
# | ld/BUILD/Test2-Harness-1.0001 | | , skipping\.\.\.) |
# | 31/lib/Test2/Harness/Util.pm | | |
# | line 240.\n | | |
# +-------------------------------+----+-------------------------------+
# Failed test 'Skipped mia2 because it does not exist'
# at t/integration/coverage.t line 340.
# +-------------------------------+----+-------------------------------+
# | GOT | OP | CHECK |
# +-------------------------------+----+-------------------------------+
# | ./.test_info.json.pend -> ./. | =~ | (?^:Coverage wants to run tes |
# | test_info.json: No such file | | t 't/integration/coverage/mia |
# | or directory at /builddir/bui | | 2\.tx', but it does not exist |
# | ld/BUILD/Test2-Harness-1.0001 | | , skipping\.\.\.) |
# | 31/lib/Test2/Harness/Util.pm | | |
# | line 240.\n | | |
# +-------------------------------+----+-------------------------------+
# Command = /usr/bin/perl /builddir/build/BUILD/Test2-Harness-1.000131/scripts/yath -Dt/integration/coverage/lib -D/builddir/build/BUILD/Test2-Harness-1.000131/blib/lib test -I/builddir/build/BUILD/Test2-Harness-1.000131/blib/lib -Dt/integration/coverage/lib -It/integration/coverage/lib --ext=tx --cover-from=/tmp/JNJBmRJDRN.json --plugin +Plugin --changed-only -v
# Exit = 512
# ==== Output ====
# ./.test_info.json.pend -> ./.test_info.json: No such file or directory at /builddir/build/BUILD/Test2-Harness-1.000131/lib/Test2/Harness/Util.pm line 240.
#
# ========
# Failed test 'yath test -Dt/integration/coverage/lib -It/integration/coverage/lib --ext=tx --cover-fr[...]RJDRN.json --plugin +Plugin --changed-only -v'
# at t/integration/coverage.t line 344.
It seems that cleaning up that JSON file has more consequences.
t/integration/replay.t in Test2-Harness-1.000131 run under the Test::Harness fails for me:
Maybe because I run the tests in parallel (I set HARNESS_OPTIONS and T2_HARNESS_JOB_COUNT environment variables) and the ./.test_info.json is deleted by a concurrent job.