Issue #9119 has been updated by phasis68 (Heesob Park).


Finally, I fount the reason why I cannot reproduce the same result with Rubyinstaller test.
The timezone of Rubyinstaller test server is UTC-3 and my timezone is UTC+9.

The localtime(3) overflow check code returns yes for timezone from UTC-12 to UTC+0, whereas returns no for timezone from UTC+1 to UTC+13.

Here is a patch for the config test.

diff --git a/configure.in b/configure.in.new
index 5d86e14..9d09d58 100644
--- a/configure.in
+++ b/configure.in.new
@@ -2137,6 +2137,7 @@ int
 main()
 {
     time_t t;
+    putenv("TZ=JST-9");
     if (~(time_t)0 <= 0) {
         t = (((time_t)1) << (sizeof(time_t) * 8 - 2));
         t |= t - 1;


----------------------------------------
Bug #9119: TestTime#test_marshal_broken_offset broken under MinGW
https://bugs.ruby-lang.org/issues/9119#change-43096

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: test
Target version: current: 2.1.0
ruby -v: ruby 2.1.0dev (2013-11-17 trunk 43698) [i386-mingw32] ruby 2.0.0p350 (2013-11-13 revision 43661) [i386-mingw32]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


=begin
Hello,

The test (({TestTime#test_marshal_broken_offset})) has been broken under x86-mingw32 for really long time, in both 2.0 and trunk:

http://ci.rubyinstaller.org/job/ruby-2_0_0-x86-test-all/170/console

http://ci.rubyinstaller.org/job/ruby-trunk-x86-test-all/2362/console

 TestTime#test_marshal_broken_offset [C:/Users/Worker/Jenkins/workspace/ruby-trunk-x86-build/test/ruby/test_time.rb:331]:
 <0> expected but was
 <-10800>.
=end


-- 
http://bugs.ruby-lang.org/