diff options
Diffstat (limited to 'test/rubygems/test_gem_package_tar_writer.rb')
-rw-r--r-- | test/rubygems/test_gem_package_tar_writer.rb | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/test/rubygems/test_gem_package_tar_writer.rb b/test/rubygems/test_gem_package_tar_writer.rb index 5dcb90c14e..751ceaca81 100644 --- a/test/rubygems/test_gem_package_tar_writer.rb +++ b/test/rubygems/test_gem_package_tar_writer.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + require_relative "package/tar_test_case" require "rubygems/package/tar_writer" @@ -27,12 +28,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase end def test_add_file - Time.stub :now, Time.at(1458518157) do - @tar_writer.add_file "x", 0644 do |f| + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.add_file "x", 0o644 do |f| f.write "a" * 10 end - assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now), + assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now), @io.string[0, 512]) end assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512] @@ -41,19 +42,19 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase def test_add_file_source_date_epoch ENV["SOURCE_DATE_EPOCH"] = "123456789" - Time.stub :now, Time.at(1458518157) do - @tar_writer.mkdir "foo", 0644 + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.mkdir "foo", 0o644 - assert_headers_equal tar_dir_header("foo", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc), + assert_headers_equal tar_dir_header("foo", "", 0o644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc), @io.string[0, 512] end end def test_add_symlink - Time.stub :now, Time.at(1458518157) do - @tar_writer.add_symlink "x", "y", 0644 + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.add_symlink "x", "y", 0o644 - assert_headers_equal(tar_symlink_header("x", "", 0644, Time.now, "y"), + assert_headers_equal(tar_symlink_header("x", "", 0o644, Time.now, "y"), @io.string[0, 512]) end assert_equal 512, @io.pos @@ -61,19 +62,19 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase def test_add_symlink_source_date_epoch ENV["SOURCE_DATE_EPOCH"] = "123456789" - Time.stub :now, Time.at(1458518157) do - @tar_writer.add_symlink "x", "y", 0644 + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.add_symlink "x", "y", 0o644 - assert_headers_equal(tar_symlink_header("x", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc, "y"), + assert_headers_equal(tar_symlink_header("x", "", 0o644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc, "y"), @io.string[0, 512]) end end def test_add_file_digest - digest_algorithms = Digest::SHA1.new, Digest::SHA512.new + digest_algorithms = OpenSSL::Digest::SHA1.new, OpenSSL::Digest::SHA512.new - Time.stub :now, Time.at(1458518157) do - digests = @tar_writer.add_file_digest "x", 0644, digest_algorithms do |io| + Time.stub :now, Time.at(1_458_518_157) do + digests = @tar_writer.add_file_digest "x", 0o644, digest_algorithms do |io| io.write "a" * 10 end @@ -85,7 +86,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase "e1cf14b0", digests["SHA512"].hexdigest - assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now), + assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now), @io.string[0, 512]) end assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512] @@ -93,10 +94,10 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase end def test_add_file_digest_multiple - digest_algorithms = [Digest::SHA1.new, Digest::SHA512.new] + digest_algorithms = [OpenSSL::Digest::SHA1.new, OpenSSL::Digest::SHA512.new] - Time.stub :now, Time.at(1458518157) do - digests = @tar_writer.add_file_digest "x", 0644, digest_algorithms do |io| + Time.stub :now, Time.at(1_458_518_157) do + digests = @tar_writer.add_file_digest "x", 0o644, digest_algorithms do |io| io.write "a" * 10 end @@ -108,7 +109,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase "e1cf14b0", digests["SHA512"].hexdigest - assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now), + assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now), @io.string[0, 512]) end assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512] @@ -120,12 +121,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase signer = Gem::Security::Signer.new PRIVATE_KEY, [PUBLIC_CERT] - Time.stub :now, Time.at(1458518157) do - @tar_writer.add_file_signed "x", 0644, signer do |io| + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.add_file_signed "x", 0o644, signer do |io| io.write "a" * 10 end - assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now), + assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now), @io.string[0, 512]) assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512] @@ -135,7 +136,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase signature = signer.sign digest.digest - assert_headers_equal(tar_file_header("x.sig", "", 0444, signature.length, + assert_headers_equal(tar_file_header("x.sig", "", 0o444, signature.length, Time.now), @io.string[1024, 512]) assert_equal "#{signature}#{"\0" * (512 - signature.length)}", @@ -148,12 +149,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase def test_add_file_signer_empty signer = Gem::Security::Signer.new nil, nil - Time.stub :now, Time.at(1458518157) do - @tar_writer.add_file_signed "x", 0644, signer do |io| + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.add_file_signed "x", 0o644, signer do |io| io.write "a" * 10 end - assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now), + assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now), @io.string[0, 512]) end assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512] @@ -162,12 +163,12 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase end def test_add_file_simple - Time.stub :now, Time.at(1458518157) do - @tar_writer.add_file_simple "x", 0644, 10 do |io| + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.add_file_simple "x", 0o644, 10 do |io| io.write "a" * 10 end - assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.now), + assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.now), @io.string[0, 512]) assert_equal "aaaaaaaaaa#{"\0" * 502}", @io.string[512, 512] @@ -177,18 +178,18 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase def test_add_file_simple_source_date_epoch ENV["SOURCE_DATE_EPOCH"] = "123456789" - Time.stub :now, Time.at(1458518157) do - @tar_writer.add_file_simple "x", 0644, 10 do |io| + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.add_file_simple "x", 0o644, 10 do |io| io.write "a" * 10 end - assert_headers_equal(tar_file_header("x", "", 0644, 10, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc), + assert_headers_equal(tar_file_header("x", "", 0o644, 10, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc), @io.string[0, 512]) end end def test_add_file_simple_padding - Time.stub :now, Time.at(1458518157) do + Time.stub :now, Time.at(1_458_518_157) do @tar_writer.add_file_simple "x", 0, 100 assert_headers_equal tar_file_header("x", "", 0, 100, Time.now), @@ -246,10 +247,10 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase end def test_mkdir - Time.stub :now, Time.at(1458518157) do - @tar_writer.mkdir "foo", 0644 + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.mkdir "foo", 0o644 - assert_headers_equal tar_dir_header("foo", "", 0644, Time.now), + assert_headers_equal tar_dir_header("foo", "", 0o644, Time.now), @io.string[0, 512] assert_equal 512, @io.pos @@ -258,20 +259,20 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase def test_mkdir_source_date_epoch ENV["SOURCE_DATE_EPOCH"] = "123456789" - Time.stub :now, Time.at(1458518157) do - @tar_writer.mkdir "foo", 0644 + Time.stub :now, Time.at(1_458_518_157) do + @tar_writer.mkdir "foo", 0o644 - assert_headers_equal tar_dir_header("foo", "", 0644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc), + assert_headers_equal tar_dir_header("foo", "", 0o644, Time.at(ENV["SOURCE_DATE_EPOCH"].to_i).utc), @io.string[0, 512] end end def test_split_name assert_equal ["b" * 100, "a" * 155], - @tar_writer.split_name("#{'a' * 155}/#{'b' * 100}") + @tar_writer.split_name("#{"a" * 155}/#{"b" * 100}") - assert_equal ["#{'qwer/' * 19}bla", "a" * 151], - @tar_writer.split_name("#{'a' * 151}/#{'qwer/' * 19}bla") + assert_equal ["#{"qwer/" * 19}bla", "a" * 151], + @tar_writer.split_name("#{"a" * 151}/#{"qwer/" * 19}bla") names = [ ([""] + ["123456789"] * 9 + ["1234567890"]).join("/"), # 101 bytes (several pieces) (["123456789"] * 9 + ["1234567890"] + [""]).join("/"), # 101 bytes (several pieces) @@ -282,7 +283,7 @@ class TestGemPackageTarWriter < Gem::Package::TarTestCase ] names.each do |name| newname, prefix = @tar_writer.split_name(name) - assert(!(newname.empty?), "split_name() returned empty name") + assert(!newname.empty?, "split_name() returned empty name") assert(newname.bytesize <= 100, "split_name() returned name longer than 100 bytes: '#{newname}' for '#{name}'") assert(prefix.bytesize <= 155, "split_name() returned prefix longer than 155 bytes: '#{prefix}' for '#{name}'") newname = [prefix, newname].join("/") unless prefix.empty? |