From: Tanaka Akira Date: 2013-04-01T10:36:58+09:00 Subject: [ruby-core:53862] Re: [ruby-trunk - Bug #8195][Open] Time-dependent tests 2013/4/1 hasari (Hiro Asari) : > Bug #8195: Time-dependent tests > https://bugs.ruby-lang.org/issues/8195 > There are some tests that depend on timing of the execution, and fail sporadically. > > I have not surveyed the entire suite, but one is pointed out in https://github.com/jruby/jruby/issues/618. > > https://github.com/ruby/ruby/blob/v1_8_7_371/test/zlib/test_zlib.rb#L318 > https://github.com/ruby/ruby/blob/v1_9_3_392/test/zlib/test_zlib.rb#L293 > https://github.com/ruby/ruby/blob/v2_0_0_0/test/zlib/test_zlib.rb#L469 > > https://github.com/ruby/ruby/blob/6a23960/test/zlib/test_zlib.rb#L471 > > Perhaps defining a margin of error might be permissible. Show us a actual log of the test failure. Is it really with CRuby? What is the logic for the test failure? The test doesn't fail with following modification, which causes two Time.now returns values different 10 years. % svn diff test/zlib/test_zlib.rb Index: test/zlib/test_zlib.rb =================================================================== --- test/zlib/test_zlib.rb (revision 40019) +++ test/zlib/test_zlib.rb (working copy) @@ -455,7 +455,7 @@ end def test_mtime - tim = Time.now + tim = Time.utc(2000) t = Tempfile.new("test_zlib_gzip_file_mtime") t.close @@ -464,7 +464,7 @@ gz.mtime = tim gz.print("foo") gz.flush - assert_raise(Zlib::GzipFile::Error) { gz.mtime = Time.now } + assert_raise(Zlib::GzipFile::Error) { gz.mtime = Time.utc(2010) } end Zlib::GzipReader.open(t.path) do |f| % ./ruby test/runner.rb test/zlib/test_zlib.rb -n test_mtime Run options: -n test_mtime # Running tests: Finished tests in 0.030804s, 32.4634 tests/s, 64.9268 assertions/s. 1 tests, 2 assertions, 0 failures, 0 errors, 0 skips ruby -v: ruby 2.1.0dev (2013-03-31 trunk 40019) [x86_64-linux] % ./ruby -v ruby 2.1.0dev (2013-03-31 trunk 40019) [x86_64-linux] -- Tanaka Akira