On 04/27/2018 04:29 PM, Dave Mitchell wrote: > On Thu, Apr 26, 2018 at 12:12:04AM +1000, sisyphus1@optusnet.com.au wrote: >> -----Original Message----- From: Dave Mitchell >> Sent: Wednesday, April 25, 2018 11:58 PM >> To: sisyphus1@optusnet.com.au >> Cc: perl5-porters@perl.org >> Subject: Re: 5.27.11 fails ../lib/File/Copy.t on linux (ubuntu-16.04) with >> -Dusequadmath >> >>>> not ok 53 - mtime preserved by copy() while testing cross-partition >>>> # Failed test 'mtime preserved by copy() while testing cross-partition' >>>> # at lib/File/Copy.t line 128. >>>> # got: '1000000000.123449998' >>>> # expected: '1000000000.123449999' >>>> >>>> Configure args were '-des -Duse64bitint -Duse64bitall -Dusethreads >>>> -Dusequadmath -Dusedevel -Uversiononly'. >>> It seems to be an issue with Time::HiRes; that module's >>> nanosec-supporting stat() and utimes() calls are in some fashion not >>> preserving an exact round-trip mtime. I'm still investigating... >> If it helps, that test passes when I run that test file (ie the >> lib/File/Copy.t that ships with 5.27.11) from perl-5.27.5 and earlier, but >> fails when I run it from perl-5.27.6 and later. > I've found it. It's a rounding error (using truncating rather than rounding) > I've pushed a fix for smoking as smoke-me/davem/time_hires_nsec. > > The bug's been present since utime() was added to Time::HiRes in > 5.25.3. I'm don't think its critical enough to be added to 5.28.0. Agreed.Thread Previous | Thread Next