rubygems-update 3.2.17 → 3.2.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +39 -0
- data/Manifest.txt +3 -0
- data/Rakefile +6 -6
- data/bundler/CHANGELOG.md +54 -0
- data/bundler/bundler.gemspec +2 -3
- data/bundler/lib/bundler.rb +2 -1
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +13 -33
- data/bundler/lib/bundler/cli/check.rb +4 -2
- data/bundler/lib/bundler/cli/install.rb +6 -7
- data/bundler/lib/bundler/cli/outdated.rb +9 -10
- data/bundler/lib/bundler/definition.rb +29 -82
- data/bundler/lib/bundler/feature_flag.rb +0 -2
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
- data/bundler/lib/bundler/fetcher/index.rb +0 -1
- data/bundler/lib/bundler/friendly_errors.rb +2 -4
- data/bundler/lib/bundler/index.rb +1 -2
- data/bundler/lib/bundler/installer.rb +1 -8
- data/bundler/lib/bundler/man/bundle-add.1 +1 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +1 -7
- data/bundler/lib/bundler/man/bundle-config.1.ronn +0 -8
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
- data/bundler/lib/bundler/man/bundle-install.1 +1 -1
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +1 -1
- data/bundler/lib/bundler/man/gemfile.5 +1 -1
- data/bundler/lib/bundler/plugin/api/source.rb +14 -0
- data/bundler/lib/bundler/resolver.rb +15 -96
- data/bundler/lib/bundler/resolver/spec_group.rb +0 -24
- data/bundler/lib/bundler/rubygems_ext.rb +2 -2
- data/bundler/lib/bundler/rubygems_integration.rb +4 -3
- data/bundler/lib/bundler/settings.rb +21 -3
- data/bundler/lib/bundler/source.rb +11 -0
- data/bundler/lib/bundler/source/rubygems.rb +24 -11
- data/bundler/lib/bundler/source/rubygems_aggregate.rb +64 -0
- data/bundler/lib/bundler/source_list.rb +35 -10
- data/bundler/lib/bundler/source_map.rb +58 -0
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +2 -2
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/command.rb +2 -0
- data/lib/rubygems/commands/build_command.rb +1 -1
- data/lib/rubygems/config_file.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +4 -4
- data/lib/rubygems/installer.rb +4 -0
- data/lib/rubygems/request.rb +1 -1
- data/lib/rubygems/specification.rb +0 -2
- data/lib/rubygems/specification_policy.rb +5 -4
- data/lib/rubygems/test_case.rb +106 -18
- data/lib/rubygems/util/licenses.rb +107 -2
- data/rubygems-update.gemspec +1 -1
- data/setup.rb +1 -2
- data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
- data/test/rubygems/test_bundled_ca.rb +2 -2
- data/test/rubygems/test_deprecate.rb +3 -3
- data/test/rubygems/test_gem.rb +33 -31
- data/test/rubygems/test_gem_bundler_version_finder.rb +3 -5
- data/test/rubygems/test_gem_command.rb +13 -1
- data/test/rubygems/test_gem_command_manager.rb +5 -5
- data/test/rubygems/test_gem_commands_build_command.rb +10 -10
- data/test/rubygems/test_gem_commands_cert_command.rb +36 -36
- data/test/rubygems/test_gem_commands_check_command.rb +5 -5
- data/test/rubygems/test_gem_commands_cleanup_command.rb +24 -24
- data/test/rubygems/test_gem_commands_contents_command.rb +3 -3
- data/test/rubygems/test_gem_commands_dependency_command.rb +2 -2
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -1
- data/test/rubygems/test_gem_commands_fetch_command.rb +9 -9
- data/test/rubygems/test_gem_commands_help_command.rb +8 -1
- data/test/rubygems/test_gem_commands_install_command.rb +60 -60
- data/test/rubygems/test_gem_commands_list_command.rb +1 -1
- data/test/rubygems/test_gem_commands_lock_command.rb +1 -1
- data/test/rubygems/test_gem_commands_open_command.rb +8 -9
- data/test/rubygems/test_gem_commands_owner_command.rb +3 -3
- data/test/rubygems/test_gem_commands_pristine_command.rb +14 -14
- data/test/rubygems/test_gem_commands_push_command.rb +6 -11
- data/test/rubygems/test_gem_commands_query_command.rb +7 -7
- data/test/rubygems/test_gem_commands_server_command.rb +2 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +21 -21
- data/test/rubygems/test_gem_commands_signin_command.rb +13 -6
- data/test/rubygems/test_gem_commands_sources_command.rb +5 -5
- data/test/rubygems/test_gem_commands_specification_command.rb +6 -6
- data/test/rubygems/test_gem_commands_uninstall_command.rb +4 -4
- data/test/rubygems/test_gem_commands_unpack_command.rb +2 -2
- data/test/rubygems/test_gem_commands_update_command.rb +10 -10
- data/test/rubygems/test_gem_commands_which_command.rb +3 -3
- data/test/rubygems/test_gem_commands_yank_command.rb +1 -1
- data/test/rubygems/test_gem_config_file.rb +9 -9
- data/test/rubygems/test_gem_dependency.rb +12 -6
- data/test/rubygems/test_gem_dependency_installer.rb +4 -4
- data/test/rubygems/test_gem_doctor.rb +30 -30
- data/test/rubygems/test_gem_ext_builder.rb +20 -20
- data/test/rubygems/test_gem_ext_cmake_builder.rb +4 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +4 -4
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +14 -13
- data/test/rubygems/test_gem_ext_rake_builder.rb +1 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -14
- data/test/rubygems/test_gem_install_update_options.rb +9 -9
- data/test/rubygems/test_gem_installer.rb +162 -140
- data/test/rubygems/test_gem_local_remote_options.rb +1 -1
- data/test/rubygems/test_gem_package.rb +48 -48
- data/test/rubygems/test_gem_package_old.rb +9 -9
- data/test/rubygems/test_gem_package_tar_header.rb +5 -5
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +8 -8
- data/test/rubygems/test_gem_package_tar_writer.rb +18 -20
- data/test/rubygems/test_gem_package_task.rb +2 -2
- data/test/rubygems/test_gem_path_support.rb +1 -1
- data/test/rubygems/test_gem_rdoc.rb +9 -9
- data/test/rubygems/test_gem_remote_fetcher.rb +17 -18
- data/test/rubygems/test_gem_request.rb +2 -2
- data/test/rubygems/test_gem_request_connection_pools.rb +1 -1
- data/test/rubygems/test_gem_request_set.rb +15 -14
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +16 -16
- data/test/rubygems/test_gem_request_set_lockfile.rb +3 -3
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +3 -3
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +4 -4
- data/test/rubygems/test_gem_requirement.rb +13 -13
- data/test/rubygems/test_gem_resolver.rb +11 -11
- data/test/rubygems/test_gem_resolver_best_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_git_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +2 -2
- data/test/rubygems/test_gem_resolver_index_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +4 -4
- data/test/rubygems/test_gem_resolver_local_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_specification.rb +1 -1
- data/test/rubygems/test_gem_resolver_vendor_set.rb +2 -2
- data/test/rubygems/test_gem_security.rb +5 -5
- data/test/rubygems/test_gem_security_policy.rb +27 -27
- data/test/rubygems/test_gem_security_signer.rb +7 -7
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
- data/test/rubygems/test_gem_server.rb +2 -2
- data/test/rubygems/test_gem_silent_ui.rb +9 -9
- data/test/rubygems/test_gem_source.rb +2 -2
- data/test/rubygems/test_gem_source_fetch_problem.rb +1 -1
- data/test/rubygems/test_gem_source_git.rb +11 -11
- data/test/rubygems/test_gem_source_specific_file.rb +1 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +1 -1
- data/test/rubygems/test_gem_specification.rb +86 -106
- data/test/rubygems/test_gem_stream_ui.rb +1 -1
- data/test/rubygems/test_gem_stub_specification.rb +4 -4
- data/test/rubygems/test_gem_uninstaller.rb +16 -16
- data/test/rubygems/test_gem_util.rb +8 -6
- data/test/rubygems/test_gem_version.rb +4 -13
- data/test/rubygems/test_kernel.rb +6 -4
- data/test/rubygems/test_project_sanity.rb +1 -1
- data/test/rubygems/test_remote_fetch_error.rb +1 -1
- data/test/rubygems/test_require.rb +12 -14
- data/test/test_changelog_generator.rb +1 -2
- metadata +6 -3
@@ -54,7 +54,7 @@ class TestGemCommandsCertCommand < Gem::TestCase
|
|
54
54
|
assert_equal PUBLIC_CERT.to_pem, match.first.to_pem
|
55
55
|
assert_equal @trust_dir.cert_path(PUBLIC_CERT), match.last
|
56
56
|
|
57
|
-
|
57
|
+
assert_raise StopIteration do
|
58
58
|
matches.next
|
59
59
|
end
|
60
60
|
end
|
@@ -69,7 +69,7 @@ class TestGemCommandsCertCommand < Gem::TestCase
|
|
69
69
|
assert_equal ALTERNATE_CERT.to_pem, match.first.to_pem
|
70
70
|
assert_equal @trust_dir.cert_path(ALTERNATE_CERT), match.last
|
71
71
|
|
72
|
-
|
72
|
+
assert_raise StopIteration do
|
73
73
|
matches.next
|
74
74
|
end
|
75
75
|
end
|
@@ -83,7 +83,7 @@ class TestGemCommandsCertCommand < Gem::TestCase
|
|
83
83
|
|
84
84
|
cert_path = @trust_dir.cert_path PUBLIC_CERT
|
85
85
|
|
86
|
-
|
86
|
+
assert_path_exist cert_path
|
87
87
|
|
88
88
|
assert_equal "Added '/CN=nobody/DC=example'\n", @ui.output
|
89
89
|
assert_empty @ui.error
|
@@ -138,8 +138,8 @@ Added '/CN=alternate/DC=example'
|
|
138
138
|
assert_empty output
|
139
139
|
assert_empty @build_ui.error
|
140
140
|
|
141
|
-
|
142
|
-
|
141
|
+
assert_path_exist File.join(@tempdir, 'gem-private_key.pem')
|
142
|
+
assert_path_exist File.join(@tempdir, 'gem-public_cert.pem')
|
143
143
|
end
|
144
144
|
|
145
145
|
def test_execute_build_bad_email_address
|
@@ -152,15 +152,15 @@ Added '/CN=alternate/DC=example'
|
|
152
152
|
|
153
153
|
use_ui @build_ui do
|
154
154
|
|
155
|
-
e =
|
155
|
+
e = assert_raise Gem::CommandLineError do
|
156
156
|
@cmd.execute
|
157
157
|
end
|
158
158
|
|
159
159
|
assert_equal "Invalid email address #{email}",
|
160
160
|
e.message
|
161
161
|
|
162
|
-
|
163
|
-
|
162
|
+
assert_path_not_exist File.join(@tempdir, 'gem-private_key.pem')
|
163
|
+
assert_path_not_exist File.join(@tempdir, 'gem-public_cert.pem')
|
164
164
|
end
|
165
165
|
end
|
166
166
|
|
@@ -195,8 +195,8 @@ Added '/CN=alternate/DC=example'
|
|
195
195
|
assert_empty output
|
196
196
|
assert_empty @build_ui.error
|
197
197
|
|
198
|
-
|
199
|
-
|
198
|
+
assert_path_exist File.join(@tempdir, 'gem-private_key.pem')
|
199
|
+
assert_path_exist File.join(@tempdir, 'gem-public_cert.pem')
|
200
200
|
|
201
201
|
pem = File.read("#{@tempdir}/gem-public_cert.pem")
|
202
202
|
cert = OpenSSL::X509::Certificate.new(pem)
|
@@ -214,7 +214,7 @@ Added '/CN=alternate/DC=example'
|
|
214
214
|
@build_ui = Gem::MockGemUi.new "#{passphrase}\n#{passphrase_confirmation}"
|
215
215
|
|
216
216
|
use_ui @build_ui do
|
217
|
-
e =
|
217
|
+
e = assert_raise Gem::CommandLineError do
|
218
218
|
@cmd.execute
|
219
219
|
end
|
220
220
|
|
@@ -232,8 +232,8 @@ Added '/CN=alternate/DC=example'
|
|
232
232
|
|
233
233
|
end
|
234
234
|
|
235
|
-
|
236
|
-
|
235
|
+
assert_path_not_exist File.join(@tempdir, 'gem-private_key.pem')
|
236
|
+
assert_path_not_exist File.join(@tempdir, 'gem-public_cert.pem')
|
237
237
|
end
|
238
238
|
|
239
239
|
def test_execute_build_key
|
@@ -254,8 +254,8 @@ Added '/CN=alternate/DC=example'
|
|
254
254
|
assert_empty output
|
255
255
|
assert_empty @ui.error
|
256
256
|
|
257
|
-
|
258
|
-
|
257
|
+
assert_path_exist File.join(@tempdir, 'gem-public_cert.pem')
|
258
|
+
assert_path_not_exist File.join(@tempdir, 'gem-private_key.pem')
|
259
259
|
end
|
260
260
|
|
261
261
|
def test_execute_build_encrypted_key
|
@@ -276,7 +276,7 @@ Added '/CN=alternate/DC=example'
|
|
276
276
|
assert_empty output
|
277
277
|
assert_empty @ui.error
|
278
278
|
|
279
|
-
|
279
|
+
assert_path_exist File.join(@tempdir, 'gem-public_cert.pem')
|
280
280
|
end
|
281
281
|
|
282
282
|
def test_execute_certificate
|
@@ -346,7 +346,7 @@ Added '/CN=alternate/DC=example'
|
|
346
346
|
|
347
347
|
cert_path = @trust_dir.cert_path PUBLIC_CERT
|
348
348
|
|
349
|
-
|
349
|
+
assert_path_exist cert_path
|
350
350
|
|
351
351
|
@cmd.handle_options %W[--remove nobody]
|
352
352
|
|
@@ -357,7 +357,7 @@ Added '/CN=alternate/DC=example'
|
|
357
357
|
assert_equal "Removed '/CN=nobody/DC=example'\n", @ui.output
|
358
358
|
assert_equal '', @ui.error
|
359
359
|
|
360
|
-
|
360
|
+
assert_path_not_exist cert_path
|
361
361
|
end
|
362
362
|
|
363
363
|
def test_execute_remove_multiple
|
@@ -367,8 +367,8 @@ Added '/CN=alternate/DC=example'
|
|
367
367
|
public_path = @trust_dir.cert_path PUBLIC_CERT
|
368
368
|
alternate_path = @trust_dir.cert_path ALTERNATE_CERT
|
369
369
|
|
370
|
-
|
371
|
-
|
370
|
+
assert_path_exist public_path
|
371
|
+
assert_path_exist alternate_path
|
372
372
|
|
373
373
|
@cmd.handle_options %W[--remove example]
|
374
374
|
|
@@ -384,8 +384,8 @@ Removed '/CN=nobody/DC=example'
|
|
384
384
|
assert_equal expected, @ui.output
|
385
385
|
assert_equal '', @ui.error
|
386
386
|
|
387
|
-
|
388
|
-
|
387
|
+
assert_path_not_exist public_path
|
388
|
+
assert_path_not_exist alternate_path
|
389
389
|
end
|
390
390
|
|
391
391
|
def test_execute_remove_twice
|
@@ -395,8 +395,8 @@ Removed '/CN=nobody/DC=example'
|
|
395
395
|
public_path = @trust_dir.cert_path PUBLIC_CERT
|
396
396
|
alternate_path = @trust_dir.cert_path ALTERNATE_CERT
|
397
397
|
|
398
|
-
|
399
|
-
|
398
|
+
assert_path_exist public_path
|
399
|
+
assert_path_exist alternate_path
|
400
400
|
|
401
401
|
@cmd.handle_options %W[--remove nobody --remove alternate]
|
402
402
|
|
@@ -412,8 +412,8 @@ Removed '/CN=alternate/DC=example'
|
|
412
412
|
assert_equal expected, @ui.output
|
413
413
|
assert_equal '', @ui.error
|
414
414
|
|
415
|
-
|
416
|
-
|
415
|
+
assert_path_not_exist public_path
|
416
|
+
assert_path_not_exist alternate_path
|
417
417
|
end
|
418
418
|
|
419
419
|
def test_execute_sign
|
@@ -552,7 +552,7 @@ Removed '/CN=alternate/DC=example'
|
|
552
552
|
@cmd.handle_options %W[--sign #{path}]
|
553
553
|
|
554
554
|
use_ui @ui do
|
555
|
-
|
555
|
+
assert_raise Gem::MockGemUi::TermError do
|
556
556
|
@cmd.execute
|
557
557
|
end
|
558
558
|
end
|
@@ -580,7 +580,7 @@ ERROR: --certificate not specified and ~/.gem/gem-public_cert.pem does not exis
|
|
580
580
|
@cmd.handle_options %W[--sign #{path}]
|
581
581
|
|
582
582
|
use_ui @ui do
|
583
|
-
|
583
|
+
assert_raise Gem::MockGemUi::TermError do
|
584
584
|
@cmd.execute
|
585
585
|
end
|
586
586
|
end
|
@@ -686,7 +686,7 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
686
686
|
|
687
687
|
def test_handle_options_add_bad
|
688
688
|
nonexistent = File.join @tempdir, 'nonexistent'
|
689
|
-
e =
|
689
|
+
e = assert_raise OptionParser::InvalidArgument do
|
690
690
|
@cmd.handle_options %W[--add #{nonexistent}]
|
691
691
|
end
|
692
692
|
|
@@ -696,7 +696,7 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
696
696
|
bad = File.join @tempdir, 'bad'
|
697
697
|
FileUtils.touch bad
|
698
698
|
|
699
|
-
e =
|
699
|
+
e = assert_raise OptionParser::InvalidArgument do
|
700
700
|
@cmd.handle_options %W[--add #{bad}]
|
701
701
|
end
|
702
702
|
|
@@ -706,7 +706,7 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
706
706
|
|
707
707
|
def test_handle_options_certificate
|
708
708
|
nonexistent = File.join @tempdir, 'nonexistent'
|
709
|
-
e =
|
709
|
+
e = assert_raise OptionParser::InvalidArgument do
|
710
710
|
@cmd.handle_options %W[--certificate #{nonexistent}]
|
711
711
|
end
|
712
712
|
|
@@ -716,7 +716,7 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
716
716
|
bad = File.join @tempdir, 'bad'
|
717
717
|
FileUtils.touch bad
|
718
718
|
|
719
|
-
e =
|
719
|
+
e = assert_raise OptionParser::InvalidArgument do
|
720
720
|
@cmd.handle_options %W[--certificate #{bad}]
|
721
721
|
end
|
722
722
|
|
@@ -727,7 +727,7 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
727
727
|
|
728
728
|
def test_handle_options_key_bad
|
729
729
|
nonexistent = File.join @tempdir, 'nonexistent'
|
730
|
-
e =
|
730
|
+
e = assert_raise OptionParser::InvalidArgument do
|
731
731
|
@cmd.handle_options %W[--private-key #{nonexistent}]
|
732
732
|
end
|
733
733
|
|
@@ -738,14 +738,14 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
738
738
|
bad = File.join @tempdir, 'bad'
|
739
739
|
FileUtils.touch bad
|
740
740
|
|
741
|
-
e =
|
741
|
+
e = assert_raise OptionParser::InvalidArgument do
|
742
742
|
@cmd.handle_options %W[--private-key #{bad}]
|
743
743
|
end
|
744
744
|
|
745
745
|
assert_equal "invalid argument: --private-key #{bad}: invalid RSA key",
|
746
746
|
e.message
|
747
747
|
|
748
|
-
e =
|
748
|
+
e = assert_raise OptionParser::InvalidArgument do
|
749
749
|
@cmd.handle_options %W[--private-key #{PUBLIC_KEY_FILE}]
|
750
750
|
end
|
751
751
|
|
@@ -792,7 +792,7 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
|
|
792
792
|
|
793
793
|
def test_handle_options_sign_nonexistent
|
794
794
|
nonexistent = File.join @tempdir, 'nonexistent'
|
795
|
-
e =
|
795
|
+
e = assert_raise OptionParser::InvalidArgument do
|
796
796
|
@cmd.handle_options %W[
|
797
797
|
--private-key #{ALTERNATE_KEY_FILE}
|
798
798
|
|
@@ -50,18 +50,18 @@ class TestGemCommandsCheckCommand < Gem::TestCase
|
|
50
50
|
|
51
51
|
FileUtils.rm b.spec_file
|
52
52
|
|
53
|
-
|
54
|
-
|
53
|
+
assert_path_exist b.gem_dir
|
54
|
+
assert_path_not_exist b.spec_file
|
55
55
|
|
56
56
|
Gem.use_paths @gemhome
|
57
57
|
|
58
|
-
|
58
|
+
capture_output do
|
59
59
|
use_ui @ui do
|
60
60
|
@cmd.doctor
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
|
65
|
-
|
64
|
+
assert_path_not_exist b.gem_dir
|
65
|
+
assert_path_not_exist b.spec_file
|
66
66
|
end
|
67
67
|
end
|
@@ -62,7 +62,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
62
62
|
|
63
63
|
@cmd.execute
|
64
64
|
|
65
|
-
|
65
|
+
assert_path_not_exist @a_1.gem_dir
|
66
66
|
end
|
67
67
|
|
68
68
|
def test_execute_all_dependencies
|
@@ -81,8 +81,8 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
81
81
|
|
82
82
|
@cmd.execute
|
83
83
|
|
84
|
-
|
85
|
-
|
84
|
+
assert_path_not_exist @a_1.gem_dir
|
85
|
+
assert_path_not_exist @b_1.gem_dir
|
86
86
|
end
|
87
87
|
|
88
88
|
def test_execute_dev_dependencies
|
@@ -101,7 +101,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
101
101
|
|
102
102
|
@cmd.execute
|
103
103
|
|
104
|
-
|
104
|
+
assert_path_exist @a_1.gem_dir
|
105
105
|
end
|
106
106
|
|
107
107
|
def test_execute_without_dev_dependencies
|
@@ -120,7 +120,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
120
120
|
|
121
121
|
@cmd.execute
|
122
122
|
|
123
|
-
|
123
|
+
assert_path_not_exist @a_1.gem_dir
|
124
124
|
end
|
125
125
|
|
126
126
|
def test_execute_all
|
@@ -143,8 +143,8 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
143
143
|
assert_equal @gemhome, Gem.dir, 'GEM_HOME'
|
144
144
|
assert_equal [@gemhome, gemhome2], Gem.path.sort, 'GEM_PATH'
|
145
145
|
|
146
|
-
|
147
|
-
|
146
|
+
assert_path_not_exist @a_1.gem_dir
|
147
|
+
assert_path_not_exist @b_1.gem_dir
|
148
148
|
end
|
149
149
|
|
150
150
|
def test_execute_all_user
|
@@ -153,15 +153,15 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
153
153
|
|
154
154
|
Gem::Specification.dirs = [Gem.dir, Gem.user_dir]
|
155
155
|
|
156
|
-
|
157
|
-
|
156
|
+
assert_path_exist @a_1.gem_dir
|
157
|
+
assert_path_exist @a_1_1.gem_dir
|
158
158
|
|
159
159
|
@cmd.options[:args] = %w[a]
|
160
160
|
|
161
161
|
@cmd.execute
|
162
162
|
|
163
|
-
|
164
|
-
|
163
|
+
assert_path_not_exist @a_1.gem_dir
|
164
|
+
assert_path_not_exist @a_1_1.gem_dir
|
165
165
|
end
|
166
166
|
|
167
167
|
def test_execute_all_user_no_sudo
|
@@ -172,15 +172,15 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
172
172
|
|
173
173
|
Gem::Specification.dirs = [Gem.dir, Gem.user_dir]
|
174
174
|
|
175
|
-
|
176
|
-
|
175
|
+
assert_path_exist @a_1.gem_dir
|
176
|
+
assert_path_exist @a_1_1.gem_dir
|
177
177
|
|
178
178
|
@cmd.options[:args] = %w[a]
|
179
179
|
|
180
180
|
@cmd.execute
|
181
181
|
|
182
|
-
|
183
|
-
|
182
|
+
assert_path_exist @a_1.gem_dir
|
183
|
+
assert_path_exist @a_1_1.gem_dir
|
184
184
|
ensure
|
185
185
|
FileUtils.chmod 0755, @gemhome
|
186
186
|
end unless win_platform? || Process.uid.zero?
|
@@ -191,7 +191,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
191
191
|
|
192
192
|
@cmd.execute
|
193
193
|
|
194
|
-
|
194
|
+
assert_path_exist @a_1.gem_dir
|
195
195
|
end
|
196
196
|
|
197
197
|
def test_execute_keeps_older_versions_with_deps
|
@@ -210,7 +210,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
210
210
|
|
211
211
|
@cmd.execute
|
212
212
|
|
213
|
-
|
213
|
+
assert_path_exist @b_1.gem_dir
|
214
214
|
end
|
215
215
|
|
216
216
|
def test_execute_ignore_default_gem_verbose
|
@@ -257,9 +257,9 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
257
257
|
|
258
258
|
@cmd.execute
|
259
259
|
|
260
|
-
|
261
|
-
|
262
|
-
|
260
|
+
assert_path_exist c_1.gem_dir
|
261
|
+
assert_path_not_exist d_1.gem_dir
|
262
|
+
assert_path_not_exist e_1.gem_dir
|
263
263
|
end
|
264
264
|
|
265
265
|
def test_execute_user_install
|
@@ -282,10 +282,10 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
|
|
282
282
|
|
283
283
|
@cmd.execute
|
284
284
|
|
285
|
-
|
286
|
-
|
285
|
+
assert_path_not_exist c_1.gem_dir
|
286
|
+
assert_path_exist c_2.gem_dir
|
287
287
|
|
288
|
-
|
289
|
-
|
288
|
+
assert_path_exist d_1.gem_dir
|
289
|
+
assert_path_exist d_2.gem_dir
|
290
290
|
end
|
291
291
|
end
|
@@ -50,7 +50,7 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
50
50
|
def test_execute_bad_gem
|
51
51
|
@cmd.options[:args] = %w[foo]
|
52
52
|
|
53
|
-
|
53
|
+
assert_raise Gem::MockGemUi::TermError do
|
54
54
|
use_ui @ui do
|
55
55
|
@cmd.execute
|
56
56
|
end
|
@@ -94,7 +94,7 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
94
94
|
def test_execute_missing_single
|
95
95
|
@cmd.options[:args] = %w[foo]
|
96
96
|
|
97
|
-
|
97
|
+
assert_raise Gem::MockGemUi::TermError do
|
98
98
|
use_ui @ui do
|
99
99
|
@cmd.execute
|
100
100
|
end
|
@@ -110,7 +110,7 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
110
110
|
|
111
111
|
gem 'foo', 1
|
112
112
|
|
113
|
-
|
113
|
+
assert_raise Gem::MockGemUi::TermError do
|
114
114
|
use_ui @ui do
|
115
115
|
@cmd.execute
|
116
116
|
end
|
@@ -64,7 +64,7 @@ Gem x-2
|
|
64
64
|
def test_execute_no_match
|
65
65
|
@cmd.options[:args] = %w[foo]
|
66
66
|
|
67
|
-
|
67
|
+
assert_raise Gem::MockGemUi::TermError do
|
68
68
|
use_ui @stub_ui do
|
69
69
|
@cmd.execute
|
70
70
|
end
|
@@ -155,7 +155,7 @@ Gem foo-2
|
|
155
155
|
@cmd.options[:reverse_dependencies] = true
|
156
156
|
@cmd.options[:domain] = :remote
|
157
157
|
|
158
|
-
|
158
|
+
assert_raise Gem::MockGemUi::TermError do
|
159
159
|
use_ui @stub_ui do
|
160
160
|
@cmd.execute
|
161
161
|
end
|
@@ -109,7 +109,7 @@ class TestGemCommandsEnvironmentCommand < Gem::TestCase
|
|
109
109
|
def test_execute_unknown
|
110
110
|
@cmd.send :handle_options, %w[unknown]
|
111
111
|
|
112
|
-
|
112
|
+
assert_raise Gem::CommandLineError do
|
113
113
|
use_ui @ui do
|
114
114
|
@cmd.execute
|
115
115
|
end
|