Subject: | Race condition in t/listgen.t test |
On my machine I observed this fail in the List-Gen test suite:
# Failed test 'glob: <../*>'
# at t/listgen.t line 504.
# Structures begin differing at:
# $got->[8054] = '../Gearman-1.11-IB5SHw'
# $expected->[8054] = '../Gapp-0.26-xtVqzj'
# Looks like you failed 1 test of 1151.
t/listgen.t ...............
Problem is that the current working directory while running the tests is
not t (which is probably intended by the author), but the List-Gen
directory. This means that ".." is the CPAN build directory, where new
directories or files may be created at any time. This happened here
between running the glob command and the comparing opendir/readdir commands.
To fix this you can for example make use of the FindBin core module and
the $FindBin::RealBin variable.
Related to this: the test before the failing one named 'glob: <*.t>' is
probably also intended to run in the t directory.
Regards,
Slaven