Using your patches tweaked for ruby_2_0_0
http://paste.ubuntu.com/6474735/all the TZ related failures disappear from my Win8.1 64bit machine when building using mingwbuilds-32-4.7.3
[ 4312/13458] TestGDBM#test_s_open_error = 0.02 s
13) Failure:
test_s_open_error(TestGDBM) [c:/Users/Jon/Documents/RubyDev/ruby-git/test/gdbm/test_gdbm.rb:227]:
[Errno::EACCES, Errno::EWOULDBLOCK] exception expected, not
Class: <Errno::E10035>
Message: <"A non-blocking socket operation could not be completed immediately. - C:/Users/Jon/AppData/Local/Temp/tmptest_gdbm20131125-11856-1s8z4ce/tmptest_gdbm_11856">
---Backtrace---
c:/Users/Jon/Documents/RubyDev/ruby-git/test/gdbm/test_gdbm.rb:228:in `open'
c:/Users/Jon/Documents/RubyDev/ruby-git/test/gdbm/test_gdbm.rb:228:in `block in test_s_open_error'
---------------
...SNIP...
[ 8175/13458] TestProcess#test_execopts_unsetenv_others = 0.06 s
62) Failure:
test_execopts_unsetenv_others(TestProcess) [c:/Users/Jon/Documents/RubyDev/ruby-git/test/ruby/test_process.rb:382]:
<""> expected but was
<"PATH=C:\\WINDOWS\\system32\\NV;.;\n">.
...SNIP...
Finished tests in 521.031981s, 25.8295 tests/s, 4284.1804 assertions/s.
13458 tests, 2232195 assertions, 2 failures, 0 errors, 104 skips
ruby -v: ruby 2.0.0p353 (2013-11-22 revision 43783) [i386-mingw32]
Perhaps the GDBM test should be skipped on Windows, and the TestProcess fail investigated. But both errors have nothing to do with TZ. Nice job. Thank you.
I don't have a
mingw.org 32bit toolchain to double check that both `_gmtime32_s` and `_localtime32_s` are available. Likely you've already confirmed this.
The only minor concern I have with the patch series is whether `defined(__MINGW_VERSION_MAJOR)` should be used. If the goal is to check for a mingw-w64 based toolchain, then it's more correct. However, the `defined(__MINGW64__) || defined(__MINGW32__)` appear fine for this scenario. I suspect the original author thought that `defined(__MINGW64__)` was a valid check for mingw-w64 toolchain. It is not. It's a check for a mingw-w64 toolchain in 64bit mode.
Jon