rubygems-update 3.4.7 → 3.4.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -0
- data/Manifest.txt +2 -0
- data/POLICIES.md +5 -5
- data/README.md +1 -4
- data/bundler/CHANGELOG.md +23 -0
- data/bundler/README.md +1 -4
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/environment_preserver.rb +2 -2
- data/bundler/lib/bundler/fetcher.rb +2 -2
- data/bundler/lib/bundler/index.rb +2 -2
- data/bundler/lib/bundler/injector.rb +1 -1
- data/bundler/lib/bundler/installer/parallel_installer.rb +1 -14
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/lockfile_parser.rb +9 -9
- data/bundler/lib/bundler/plugin.rb +1 -1
- data/bundler/lib/bundler/rubygems_integration.rb +1 -1
- data/bundler/lib/bundler/setup.rb +4 -1
- data/bundler/lib/bundler/source/git/git_proxy.rb +16 -4
- data/bundler/lib/bundler/source/git.rb +1 -0
- data/bundler/lib/bundler/source/path.rb +1 -1
- data/bundler/lib/bundler/spec_set.rb +8 -2
- data/bundler/lib/bundler/templates/Executable.bundler +1 -1
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +9 -9
- data/lib/rubygems/bundler_version_finder.rb +1 -1
- data/lib/rubygems/command.rb +10 -6
- data/lib/rubygems/command_manager.rb +1 -0
- data/lib/rubygems/commands/exec_command.rb +248 -0
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/defaults.rb +2 -2
- data/lib/rubygems/dependency.rb +1 -1
- data/lib/rubygems/package/tar_reader/entry.rb +82 -3
- data/lib/rubygems/package/tar_reader.rb +0 -28
- data/lib/rubygems/platform.rb +2 -2
- data/lib/rubygems/request_set/gem_dependency_api.rb +0 -1
- data/lib/rubygems/requirement.rb +1 -1
- data/lib/rubygems/resolver/stats.rb +1 -1
- data/lib/rubygems/source/git.rb +1 -1
- data/lib/rubygems/specification.rb +9 -1
- data/lib/rubygems/stub_specification.rb +7 -7
- data/lib/rubygems/text.rb +1 -1
- data/lib/rubygems/util/licenses.rb +2 -2
- data/lib/rubygems/version.rb +2 -2
- data/lib/rubygems.rb +3 -3
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/helper.rb +2 -3
- data/test/rubygems/package/tar_test_case.rb +49 -14
- data/test/rubygems/simple_gem.rb +1 -1
- data/test/rubygems/test_gem.rb +24 -0
- data/test/rubygems/test_gem_bundler_version_finder.rb +2 -2
- data/test/rubygems/test_gem_commands_exec_command.rb +851 -0
- data/test/rubygems/test_gem_commands_install_command.rb +1 -1
- data/test/rubygems/test_gem_commands_setup_command.rb +1 -1
- data/test/rubygems/test_gem_ext_builder.rb +3 -5
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +20 -6
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_gem_runner.rb +2 -2
- data/test/rubygems/test_gem_package.rb +0 -25
- data/test/rubygems/test_gem_package_tar_reader.rb +48 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +102 -15
- data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +10 -10
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +2 -2
- data/test/rubygems/test_gem_resolver_git_set.rb +9 -9
- data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
- data/test/rubygems/test_gem_source.rb +1 -1
- data/test/rubygems/test_gem_source_git.rb +13 -12
- data/test/rubygems/test_gem_source_installed.rb +1 -1
- data/test/rubygems/test_gem_source_lock.rb +3 -3
- data/test/rubygems/test_gem_source_vendor.rb +1 -1
- data/test/rubygems/test_gem_specification.rb +19 -2
- data/test/rubygems/test_gem_version.rb +2 -2
- data/test/rubygems/test_kernel.rb +0 -8
- metadata +5 -3
data/test/rubygems/helper.rb
CHANGED
@@ -563,14 +563,13 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
563
563
|
Dir.chdir directory do
|
564
564
|
unless File.exist? ".git"
|
565
565
|
system @git, "init", "--quiet"
|
566
|
-
system @git, "checkout", "-b", "master", "--quiet"
|
567
566
|
system @git, "config", "user.name", "RubyGems Tests"
|
568
567
|
system @git, "config", "user.email", "rubygems@example"
|
569
568
|
end
|
570
569
|
|
571
570
|
system @git, "add", gemspec
|
572
571
|
system @git, "commit", "-a", "-m", "a non-empty commit message", "--quiet"
|
573
|
-
head = Gem::Util.popen(@git, "rev-parse", "
|
572
|
+
head = Gem::Util.popen(@git, "rev-parse", "HEAD").strip
|
574
573
|
end
|
575
574
|
|
576
575
|
return name, git_spec.version, directory, head
|
@@ -1555,7 +1554,7 @@ Also, a list:
|
|
1555
1554
|
# :stopdoc:
|
1556
1555
|
# only available in RubyGems tests
|
1557
1556
|
|
1558
|
-
PRIVATE_KEY_PASSPHRASE = "Foo bar"
|
1557
|
+
PRIVATE_KEY_PASSPHRASE = "Foo bar"
|
1559
1558
|
|
1560
1559
|
begin
|
1561
1560
|
PRIVATE_KEY = load_key "private"
|
@@ -90,31 +90,36 @@ class Gem::Package::TarTestCase < Gem::TestCase
|
|
90
90
|
ASCIIZ("wheel", 32), # char gname[32]; ASCIIZ
|
91
91
|
Z(to_oct(0, 7)), # char devmajor[8]; 0 padded, octal, null
|
92
92
|
Z(to_oct(0, 7)), # char devminor[8]; 0 padded, octal, null
|
93
|
-
ASCIIZ(dname, 155),
|
93
|
+
ASCIIZ(dname, 155), # char prefix[155]; ASCII + (Z unless filled)
|
94
94
|
]
|
95
95
|
|
96
96
|
h = arr.join
|
97
|
-
ret = h
|
97
|
+
ret = ASCIIZ(h, 512)
|
98
98
|
assert_equal(512, ret.size)
|
99
99
|
ret
|
100
100
|
end
|
101
101
|
|
102
|
-
def
|
103
|
-
h = header(
|
102
|
+
def header_with_checksum(type, fname, dname, length, mode, mtime, linkname = "")
|
103
|
+
h = header(type, fname, dname, length, mode, mtime, nil, linkname)
|
104
104
|
checksum = calc_checksum(h)
|
105
|
-
header(
|
105
|
+
header(type, fname, dname, length, mode, mtime, checksum, linkname)
|
106
|
+
end
|
107
|
+
|
108
|
+
def tar_dir_header(name, prefix, mode, mtime)
|
109
|
+
header_with_checksum("5", name, prefix, 0, mode, mtime)
|
106
110
|
end
|
107
111
|
|
108
112
|
def tar_file_header(fname, dname, mode, length, mtime)
|
109
|
-
|
110
|
-
checksum = calc_checksum(h)
|
111
|
-
header("0", fname, dname, length, mode, mtime, checksum)
|
113
|
+
header_with_checksum("0", fname, dname, length, mode, mtime)
|
112
114
|
end
|
113
115
|
|
114
|
-
def tar_symlink_header(fname,
|
115
|
-
|
116
|
-
|
117
|
-
|
116
|
+
def tar_symlink_header(fname, dname, mode, mtime, linkname)
|
117
|
+
header_with_checksum("2", fname, dname, 0, mode, mtime, linkname)
|
118
|
+
end
|
119
|
+
|
120
|
+
def tar_file_contents(content)
|
121
|
+
pad = (512 - (content.size % 512)) % 512
|
122
|
+
content + "\0" * pad
|
118
123
|
end
|
119
124
|
|
120
125
|
def to_oct(n, pad_size)
|
@@ -122,11 +127,15 @@ class Gem::Package::TarTestCase < Gem::TestCase
|
|
122
127
|
end
|
123
128
|
|
124
129
|
def util_entry(tar)
|
125
|
-
io = TempIO.new
|
130
|
+
io = tar.respond_to?(:read) ? tar : TempIO.new(tar)
|
126
131
|
|
127
132
|
header = Gem::Package::TarHeader.from io
|
128
133
|
|
129
|
-
Gem::Package::TarReader::Entry.
|
134
|
+
Gem::Package::TarReader::Entry.open header, io
|
135
|
+
end
|
136
|
+
|
137
|
+
def close_util_entry(entry)
|
138
|
+
entry.instance_variable_get(:@io).close!
|
130
139
|
end
|
131
140
|
|
132
141
|
def util_dir_entry
|
@@ -136,4 +145,30 @@ class Gem::Package::TarTestCase < Gem::TestCase
|
|
136
145
|
def util_symlink_entry
|
137
146
|
util_entry tar_symlink_header("foo", "bar", 0, Time.now, "link")
|
138
147
|
end
|
148
|
+
|
149
|
+
def util_tar(&block)
|
150
|
+
tar_io = StringIO.new
|
151
|
+
Gem::Package::TarWriter.new(tar_io, &block)
|
152
|
+
tar_io.rewind
|
153
|
+
tar_io
|
154
|
+
end
|
155
|
+
|
156
|
+
def util_tar_gz(&block)
|
157
|
+
tar_io = util_tar(&block)
|
158
|
+
StringIO.new util_gzip(tar_io.string)
|
159
|
+
end
|
160
|
+
|
161
|
+
def util_gem_data_tar(spec = nil, &block)
|
162
|
+
data_tgz = util_tar_gz(&block)
|
163
|
+
util_tar do |tar|
|
164
|
+
if spec
|
165
|
+
tar.add_file "metadata.gz", 0444 do |io|
|
166
|
+
io.write util_gzip(spec.to_yaml)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
tar.add_file "data.tar.gz", 0644 do |io|
|
170
|
+
io.write data_tgz.string
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
139
174
|
end
|
data/test/rubygems/simple_gem.rb
CHANGED
data/test/rubygems/test_gem.rb
CHANGED
@@ -1654,6 +1654,30 @@ class TestGem < Gem::TestCase
|
|
1654
1654
|
ENV["SOURCE_DATE_EPOCH"] = old_epoch
|
1655
1655
|
end
|
1656
1656
|
|
1657
|
+
def test_data_home_default
|
1658
|
+
expected = File.join(@userhome, ".local", "share")
|
1659
|
+
assert_equal expected, Gem.data_home
|
1660
|
+
end
|
1661
|
+
|
1662
|
+
def test_data_home_from_env
|
1663
|
+
ENV["XDG_DATA_HOME"] = expected = "/test/data/home"
|
1664
|
+
assert_equal expected, Gem.data_home
|
1665
|
+
end
|
1666
|
+
|
1667
|
+
def test_state_home_default
|
1668
|
+
Gem.instance_variable_set :@state_home, nil
|
1669
|
+
Gem.data_home # memoize @data_home, to demonstrate GH-6418
|
1670
|
+
expected = File.join(@userhome, ".local", "state")
|
1671
|
+
assert_equal expected, Gem.state_home
|
1672
|
+
end
|
1673
|
+
|
1674
|
+
def test_state_home_from_env
|
1675
|
+
Gem.instance_variable_set :@state_home, nil
|
1676
|
+
Gem.data_home # memoize @data_home, to demonstrate GH-6418
|
1677
|
+
ENV["XDG_STATE_HOME"] = expected = "/test/state/home"
|
1678
|
+
assert_equal expected, Gem.state_home
|
1679
|
+
end
|
1680
|
+
|
1657
1681
|
private
|
1658
1682
|
|
1659
1683
|
def ruby_install_name(name)
|