1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

test/zlib/test_zlib.rb: Set binmode to test output file

Seems like the test `TestZlibGzipFile#test_gzip_reader_zcat` fails when
the timestamp has `\n\n`.

https://ci.appveyor.com/project/ruby/ruby/builds/38597932
```
  1) Error:
TestZlibGzipFile#test_gzip_reader_zcat:
Zlib::DataError: invalid distance too far back
    C:/projects/ruby/test/zlib/test_zlib.rb:522:in `initialize'
    C:/projects/ruby/test/zlib/test_zlib.rb:522:in `new'
    C:/projects/ruby/test/zlib/test_zlib.rb:522:in `zcat'
    C:/projects/ruby/test/zlib/test_zlib.rb:522:in `block (2 levels) in test_gzip_reader_zcat'
    C:/projects/ruby/test/zlib/test_zlib.rb:521:in `open'
    C:/projects/ruby/test/zlib/test_zlib.rb:521:in `block in test_gzip_reader_zcat'
    C:/projects/ruby/lib/tempfile.rb:358:in `create'
    C:/projects/ruby/test/zlib/test_zlib.rb:510:in `test_gzip_reader_zcat'
```

The test time is around 2021-04-08 04:40 +0900. Maybe the following time
should trigger the bug.

```
irb(main):001:0> Time.at(1617824266)
=> 2021-04-08 04:37:46 +0900
irb(main):002:0> [1617824266].pack("V")
=> "\n\nn`"
```
This commit is contained in:
Yusuke Endoh 2021-04-08 14:22:59 +09:00
parent ec355813b0
commit ee372aa873

View file

@ -508,6 +508,7 @@ if defined? Zlib
class TestZlibGzipFile < Test::Unit::TestCase class TestZlibGzipFile < Test::Unit::TestCase
def test_gzip_reader_zcat def test_gzip_reader_zcat
Tempfile.create("test_zlib_gzip_file_to_io") {|t| Tempfile.create("test_zlib_gzip_file_to_io") {|t|
t.binmode
gz = Zlib::GzipWriter.new(t) gz = Zlib::GzipWriter.new(t)
gz.print("foo") gz.print("foo")
gz.close gz.close