From: Greg.mpls@... Date: 2017-12-03T16:29:14+00:00 Subject: [ruby-core:84069] [Ruby trunk Feature#13726] PATCH: Windows builds - fractional second file times Issue #13726 has been updated by MSP-Greg (Greg L). usa (Usaku NAKAMURA) wrote: > I've tested the patches, and I found that my Windows7 box often set the ctime and mtime as a little future -- some hundreds nano seconds. > I can't find the reason, but it makes some troubles with test-all and test-spec... Thanks for looking at it. I'll look over the patches I'm using in ruby-loco, as all the time tests/specs have been stable for quite a while, both locally and on Appveyor. I believe all the time patches are in the [patches/gte20500](https://github.com/MSP-Greg/ruby-loco/tree/master/patches/gte20500) folder. Disk IO on AV gets a little funny when running parallel tests/specs, so I did need to increase (or add) some deltas in any numeric comparison tests... Thanks, Greg ---------------------------------------- Feature #13726: PATCH: Windows builds - fractional second file times https://bugs.ruby-lang.org/issues/13726#change-68157 * Author: MSP-Greg (Greg L) * Status: Assigned * Priority: Normal * Assignee: usa (Usaku NAKAMURA) * Target version: ---------------------------------------- At present, I believe Windows builds have integer seconds resolution on File times. Attached are three patches that seem to correct the issue. The numbered patches are best applied in order. The c source patches were created by kubo (Kubo Takehiro); I created the spec patch, along with some testing. All related tests (run parallel) pass on my system for MinGW builds and x64-mswin64_140 builds. I did some checks with Appveyor, and there may be issues with the logger tests, due to the fact that the tests are very time sensitive (I ran -j3 on a quad system, Appveyor runs -j2 on a dual core). I believe file time values are stored with 100 ns resolution, but times have 100 ��s resolution. This was the reason for some of the changes to the tests, as time appears to be truncated (floor), as opposed to round. I would appreciate if consideration could be given to adding this (or similar) code. Thank you. ---Files-------------------------------- 02-file-utime.patch (5.53 KB) spec-rubyspec-core-file-time.patch (2.99 KB) 01-time-subsec.patch (15.2 KB) spec-rubyspec-core-file-time.patch (3.28 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: