Issue #13726 has been updated by MSP-Greg (Greg L).

File spec-rubyspec-core-file-time.patch added

While running tests today on `ruby 2.5.0dev (2017-07-11 trunk 59311) [x64-mingw32]`, I had an error in [spec/rubyspec/core/file/utime_spec](https://github.com/ruby/ruby/blob/561c253512eb83dba822d50ccc95a90187ab945e/spec/rubyspec/core/file/utime_spec.rb#L25-L31) due to the truncation issue.  So, I've modified the test code.

When looking at this issue, please replace the patch in the first message with the attached one.

----------------------------------------
Bug #13726: PATCH: Windows builds - fractional second file times
https://bugs.ruby-lang.org/issues/13726#change-65734

* Author: MSP-Greg (Greg L)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: trunk
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>