diff options
author | Koichi Sasada <ko1@atdot.net> | 2020-01-28 18:15:14 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2020-01-28 18:15:14 +0900 |
commit | dd64c34682bfcb976ec6fb0c6182fb09d9d790d3 (patch) | |
tree | 9979b2a5643c1c8d65501bfafde97002ea01f9e8 | |
parent | 20c1c240145b7db66014020e233b23d12574efae (diff) | |
download | ruby-dd64c34682bfcb976ec6fb0c6182fb09d9d790d3.tar.gz |
support multi-run for test/ruby/test_time.rb
ruby/test_time_tz.rb (not sure only this file affects) changes TZ
and it seems to change internal state. This internal state change
fails test_2038 and test_timegm on 2nd time execution.
At this time I have no idea how to fix this issue, so I skips these
tests on 2nd trial.
You can try this failure with the following command without this patch.
$ make test-all TESTS='--repeat-count=2 ruby/require ruby/time ruby/time_tz'
-rw-r--r-- | test/ruby/test_time.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test/ruby/test_time.rb b/test/ruby/test_time.rb index 3cf7f2b145..0ff09f3fcb 100644 --- a/test/ruby/test_time.rb +++ b/test/ruby/test_time.rb @@ -108,6 +108,10 @@ class TestTime < Test::Unit::TestCase assert_equal(78796800, Time.utc(1972, 7, 1, 0, 0, 0).tv_sec) assert_equal(78796801, Time.utc(1972, 7, 1, 0, 0, 1).tv_sec) assert_equal(946684800, Time.utc(2000, 1, 1, 0, 0, 0).tv_sec) + + # Giveup to try 2nd test because some state is changed. + skip if Minitest::Unit.current_repeat_count > 0 + assert_equal(0x7fffffff, Time.utc(2038, 1, 19, 3, 14, 7).tv_sec) assert_equal(0x80000000, Time.utc(2038, 1, 19, 3, 14, 8).tv_sec) else @@ -1133,6 +1137,9 @@ class TestTime < Test::Unit::TestCase end def test_2038 + # Giveup to try 2nd test because some state is changed. + skip if Minitest::Unit.current_repeat_count > 0 + if no_leap_seconds? assert_equal(0x80000000, Time.utc(2038, 1, 19, 3, 14, 8).tv_sec) end |