docdurdee has asked for the wisdom of the Perl Monks concerning the following question:

Dearest Monks, While brewing some perl, I noticed that the following test fails:
#!/usr/bin/perl -w BEGIN { unshift @INC, 't/lib/'; } chdir 't'; use ExtUtils::Command; use Test::More tests => 1; open FILE, ">source" or die $!; print FILE "stuff\n"; close FILE; # Instead of sleeping to make the file time older utime time - 900, time - 900, "source"; END { 1 while unlink "source", "dest"; } # Win32 bug, cp wouldn't update mtime. { local @ARGV = qw(source dest); cp(); my $mtime = (stat("dest"))[9]; my $now = time; cmp_ok( abs($mtime - $now), '<=', 1, 'cp updated mtime' ); }
yielding the following output:
not ok 1 - cp updated mtime # Failed test 'cp updated mtime' # at cp.t line 27. # '199' # <= # '1' # Looks like you failed 1 test of 1.
I think it's clear that we're creating some file at some time in the past and then hoping for a cp into the present. Is there something funky that I should worry about? I'm running OpenSUSE 12.2. The test passes on OS X 10.6.8...