rubygems-update 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- data.tar.gz.sig +2 -4
- data/ChangeLog +155 -0
- data/Rakefile +20 -5
- data/doc/release_notes/rel_1_3_0.rdoc +125 -0
- data/lib/rubygems.rb +107 -15
- data/lib/rubygems/commands/contents_command.rb +1 -1
- data/lib/rubygems/commands/environment_command.rb +40 -0
- data/lib/rubygems/commands/help_command.rb +2 -2
- data/lib/rubygems/commands/install_command.rb +15 -0
- data/lib/rubygems/commands/lock_command.rb +15 -6
- data/lib/rubygems/commands/outdated_command.rb +1 -1
- data/lib/rubygems/commands/pristine_command.rb +1 -1
- data/lib/rubygems/commands/query_command.rb +14 -9
- data/lib/rubygems/commands/rdoc_command.rb +5 -1
- data/lib/rubygems/commands/specification_command.rb +2 -2
- data/lib/rubygems/commands/unpack_command.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +23 -14
- data/lib/rubygems/commands/which_command.rb +4 -3
- data/lib/rubygems/config_file.rb +25 -3
- data/lib/rubygems/defaults.rb +42 -11
- data/lib/rubygems/dependency_installer.rb +19 -15
- data/lib/rubygems/doc_manager.rb +162 -115
- data/lib/rubygems/ext/builder.rb +2 -2
- data/lib/rubygems/ext/rake_builder.rb +1 -1
- data/lib/rubygems/gem_path_searcher.rb +35 -19
- data/lib/rubygems/indexer.rb +15 -6
- data/lib/rubygems/install_update_options.rb +7 -0
- data/lib/rubygems/installer.rb +85 -9
- data/lib/rubygems/local_remote_options.rb +7 -0
- data/lib/rubygems/package/tar_reader.rb +7 -7
- data/lib/rubygems/platform.rb +1 -18
- data/lib/rubygems/remote_fetcher.rb +45 -54
- data/lib/rubygems/rubygems_version.rb +1 -1
- data/lib/rubygems/source_index.rb +22 -7
- data/lib/rubygems/source_info_cache.rb +9 -0
- data/lib/rubygems/spec_fetcher.rb +18 -20
- data/lib/rubygems/specification.rb +502 -293
- data/lib/rubygems/test_utilities.rb +19 -8
- data/lib/rubygems/uninstaller.rb +60 -26
- data/setup.rb +15 -7
- data/test/gemutilities.rb +84 -0
- data/test/mockgemui.rb +22 -2
- data/test/test_gem.rb +118 -13
- data/test/test_gem_commands_dependency_command.rb +1 -1
- data/test/test_gem_commands_list_command.rb +37 -0
- data/test/test_gem_commands_lock_command.rb +69 -0
- data/test/test_gem_commands_query_command.rb +40 -1
- data/test/test_gem_commands_uninstall_command.rb +60 -0
- data/test/test_gem_config_file.rb +51 -17
- data/test/test_gem_ext_configure_builder.rb +9 -9
- data/test/test_gem_ext_rake_builder.rb +21 -12
- data/test/test_gem_gem_path_searcher.rb +15 -7
- data/test/test_gem_indexer.rb +35 -1
- data/test/test_gem_install_update_options.rb +26 -5
- data/test/test_gem_installer.rb +93 -21
- data/test/test_gem_local_remote_options.rb +12 -0
- data/test/test_gem_platform.rb +6 -13
- data/test/test_gem_remote_fetcher.rb +121 -31
- data/test/test_gem_source_index.rb +74 -21
- data/test/test_gem_source_info_cache.rb +2 -1
- data/test/test_gem_spec_fetcher.rb +13 -3
- data/test/test_gem_specification.rb +13 -7
- data/test/test_gem_uninstaller.rb +25 -2
- metadata +6 -2
- metadata.gz.sig +0 -0
@@ -199,7 +199,7 @@ ERROR: Only reverse dependencies for local gems are supported.
|
|
199
199
|
@fetcher.data["#{@gem_repo}Marshal.#{Gem.marshal_version}"] =
|
200
200
|
si.dump
|
201
201
|
|
202
|
-
@fetcher.data
|
202
|
+
@fetcher.data.delete "#{@gem_repo}latest_specs.#{Gem.marshal_version}.gz"
|
203
203
|
|
204
204
|
FileUtils.rm File.join(@gemhome, 'specifications',
|
205
205
|
"#{foo.full_name}.gemspec")
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
|
3
|
+
require 'rubygems/commands/list_command'
|
4
|
+
|
5
|
+
class TestGemCommandsListCommand < RubyGemTestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
super
|
9
|
+
|
10
|
+
@cmd = Gem::Commands::ListCommand.new
|
11
|
+
|
12
|
+
util_setup_fake_fetcher
|
13
|
+
|
14
|
+
@si = util_setup_spec_fetcher @a1, @a2, @pl1
|
15
|
+
|
16
|
+
@fetcher.data["#{@gem_repo}Marshal.#{Gem.marshal_version}"] = proc do
|
17
|
+
raise Gem::RemoteFetcher::FetchError
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_execute_installed
|
22
|
+
@cmd.handle_options %w[c --installed]
|
23
|
+
|
24
|
+
e = assert_raise Gem::SystemExitException do
|
25
|
+
use_ui @ui do
|
26
|
+
@cmd.execute
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
assert_equal 0, e.exit_code
|
31
|
+
|
32
|
+
assert_equal "true\n", @ui.output
|
33
|
+
|
34
|
+
assert_equal '', @ui.error
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
|
3
|
+
require 'rubygems/commands/lock_command'
|
4
|
+
|
5
|
+
class TestGemCommandsLockCommand < RubyGemTestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
super
|
9
|
+
|
10
|
+
@a1 = quick_gem 'a', '1'
|
11
|
+
@b1 = quick_gem 'b', '1' do |s|
|
12
|
+
s.add_runtime_dependency 'a'
|
13
|
+
end
|
14
|
+
|
15
|
+
@d1 = quick_gem 'd', '1' do |s|
|
16
|
+
s.add_runtime_dependency 'z'
|
17
|
+
end
|
18
|
+
|
19
|
+
@cmd = Gem::Commands::LockCommand.new
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_execute
|
23
|
+
@cmd.handle_options %w[b-1]
|
24
|
+
|
25
|
+
use_ui @ui do
|
26
|
+
@cmd.execute
|
27
|
+
end
|
28
|
+
|
29
|
+
expected = <<-EXPECTED
|
30
|
+
require 'rubygems'
|
31
|
+
gem 'b', '= 1'
|
32
|
+
gem 'a', '= 1'
|
33
|
+
EXPECTED
|
34
|
+
|
35
|
+
assert_equal expected, @ui.output
|
36
|
+
assert_equal '', @ui.error
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_execute_missing_dependency
|
40
|
+
@cmd.handle_options %w[d-1]
|
41
|
+
|
42
|
+
use_ui @ui do
|
43
|
+
@cmd.execute
|
44
|
+
end
|
45
|
+
|
46
|
+
expected = <<-EXPECTED
|
47
|
+
require 'rubygems'
|
48
|
+
gem 'd', '= 1'
|
49
|
+
# Unable to satisfy 'z (>= 0, runtime)' from currently installed gems
|
50
|
+
EXPECTED
|
51
|
+
|
52
|
+
assert_equal expected, @ui.output
|
53
|
+
assert_equal '', @ui.error
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_execute_strict
|
57
|
+
@cmd.handle_options %w[c-1 --strict]
|
58
|
+
|
59
|
+
e = assert_raise Gem::Exception do
|
60
|
+
use_ui @ui do
|
61
|
+
@cmd.execute
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
assert_equal 'Could not find gem c-1, try using the full name', e.message
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
|
@@ -180,7 +180,7 @@ pl (1)
|
|
180
180
|
@fetcher.data["#{@gem_repo}Marshal.#{Gem.marshal_version}"] =
|
181
181
|
si.dump
|
182
182
|
|
183
|
-
@fetcher.data
|
183
|
+
@fetcher.data.delete "#{@gem_repo}latest_specs.#{Gem.marshal_version}.gz"
|
184
184
|
|
185
185
|
@cmd.handle_options %w[-r]
|
186
186
|
|
@@ -265,6 +265,27 @@ pl (1)
|
|
265
265
|
assert_equal '', @ui.error
|
266
266
|
end
|
267
267
|
|
268
|
+
def test_execute_local_notty
|
269
|
+
@cmd.handle_options %w[]
|
270
|
+
|
271
|
+
@ui.outs.tty = false
|
272
|
+
|
273
|
+
use_ui @ui do
|
274
|
+
@cmd.execute
|
275
|
+
end
|
276
|
+
|
277
|
+
expected = <<-EOF
|
278
|
+
a (2, 1)
|
279
|
+
a_evil (9)
|
280
|
+
b (2)
|
281
|
+
c (1.2)
|
282
|
+
pl (1)
|
283
|
+
EOF
|
284
|
+
|
285
|
+
assert_equal expected, @ui.output
|
286
|
+
assert_equal '', @ui.error
|
287
|
+
end
|
288
|
+
|
268
289
|
def test_execute_no_versions
|
269
290
|
@cmd.handle_options %w[-r --no-versions]
|
270
291
|
|
@@ -284,5 +305,23 @@ pl
|
|
284
305
|
assert_equal '', @ui.error
|
285
306
|
end
|
286
307
|
|
308
|
+
def test_execute_notty
|
309
|
+
@cmd.handle_options %w[-r]
|
310
|
+
|
311
|
+
@ui.outs.tty = false
|
312
|
+
|
313
|
+
use_ui @ui do
|
314
|
+
@cmd.execute
|
315
|
+
end
|
316
|
+
|
317
|
+
expected = <<-EOF
|
318
|
+
a (2)
|
319
|
+
pl (1)
|
320
|
+
EOF
|
321
|
+
|
322
|
+
assert_equal expected, @ui.output
|
323
|
+
assert_equal '', @ui.error
|
324
|
+
end
|
325
|
+
|
287
326
|
end
|
288
327
|
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
|
3
|
+
require File.join(File.expand_path(File.dirname(__FILE__)),
|
4
|
+
'gem_installer_test_case')
|
5
|
+
require 'rubygems/commands/uninstall_command'
|
6
|
+
|
7
|
+
class TestGemCommandsUninstallCommand < GemInstallerTestCase
|
8
|
+
|
9
|
+
def setup
|
10
|
+
super
|
11
|
+
|
12
|
+
ui = MockGemUi.new
|
13
|
+
util_setup_gem ui
|
14
|
+
|
15
|
+
use_ui ui do
|
16
|
+
@installer.install
|
17
|
+
end
|
18
|
+
|
19
|
+
@cmd = Gem::Commands::UninstallCommand.new
|
20
|
+
@cmd.options[:executables] = true
|
21
|
+
@executable = File.join(@gemhome, 'bin', 'executable')
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_execute_removes_executable
|
25
|
+
if win_platform?
|
26
|
+
assert_equal true, File.exist?(@executable)
|
27
|
+
else
|
28
|
+
assert_equal true, File.symlink?(@executable)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Evil hack to prevent false removal success
|
32
|
+
FileUtils.rm_f @executable
|
33
|
+
File.open(@executable, "wb+") {|f| f.puts "binary"}
|
34
|
+
|
35
|
+
@cmd.options[:args] = Array(@spec.name)
|
36
|
+
use_ui @ui do
|
37
|
+
@cmd.execute
|
38
|
+
end
|
39
|
+
|
40
|
+
output = @ui.output.split "\n"
|
41
|
+
assert_match(/Removing executable/, output.shift)
|
42
|
+
assert_match(/Successfully uninstalled/, output.shift)
|
43
|
+
assert_equal false, File.exist?(@executable)
|
44
|
+
assert_nil output.shift, "UI output should have contained only two lines"
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_execute_not_installed
|
48
|
+
@cmd.options[:args] = ["foo"]
|
49
|
+
e = assert_raise(Gem::InstallError) do
|
50
|
+
use_ui @ui do
|
51
|
+
@cmd.execute
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
assert_match(/\AUnknown gem foo >= 0$/, e.message)
|
56
|
+
output = @ui.output.split "\n"
|
57
|
+
assert output.empty?, "UI output should be empty after an uninstall error"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
@@ -22,11 +22,15 @@ class TestGemConfigFile < RubyGemTestCase
|
|
22
22
|
Gem::ConfigFile.send :remove_const, :SYSTEM_WIDE_CONFIG_FILE
|
23
23
|
Gem::ConfigFile.send :const_set, :SYSTEM_WIDE_CONFIG_FILE,
|
24
24
|
File.join(@tempdir, 'system-gemrc')
|
25
|
+
Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS.clear
|
26
|
+
Gem::ConfigFile::PLATFORM_DEFAULTS.clear
|
25
27
|
|
26
28
|
util_config_file
|
27
29
|
end
|
28
30
|
|
29
31
|
def teardown
|
32
|
+
Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS.clear
|
33
|
+
Gem::ConfigFile::PLATFORM_DEFAULTS.clear
|
30
34
|
Gem::ConfigFile.send :remove_const, :SYSTEM_WIDE_CONFIG_FILE
|
31
35
|
Gem::ConfigFile.send :const_set, :SYSTEM_WIDE_CONFIG_FILE,
|
32
36
|
@orig_SYSTEM_WIDE_CONFIG_FILE
|
@@ -53,6 +57,9 @@ class TestGemConfigFile < RubyGemTestCase
|
|
53
57
|
fp.puts ":sources:"
|
54
58
|
fp.puts " - http://more-gems.example.com"
|
55
59
|
fp.puts "install: --wrappers"
|
60
|
+
fp.puts ":gempath:"
|
61
|
+
fp.puts "- /usr/ruby/1.8/lib/ruby/gems/1.8"
|
62
|
+
fp.puts "- /var/ruby/1.8/gem_home"
|
56
63
|
end
|
57
64
|
|
58
65
|
util_config_file
|
@@ -64,6 +71,8 @@ class TestGemConfigFile < RubyGemTestCase
|
|
64
71
|
assert_equal false, @cfg.update_sources
|
65
72
|
assert_equal %w[http://more-gems.example.com], Gem.sources
|
66
73
|
assert_equal '--wrappers', @cfg[:install]
|
74
|
+
assert_equal(['/usr/ruby/1.8/lib/ruby/gems/1.8', '/var/ruby/1.8/gem_home'],
|
75
|
+
@cfg.path)
|
67
76
|
end
|
68
77
|
|
69
78
|
def test_initialize_handle_arguments_config_file
|
@@ -84,6 +93,48 @@ class TestGemConfigFile < RubyGemTestCase
|
|
84
93
|
assert_equal @temp_conf, @cfg.config_file_name
|
85
94
|
end
|
86
95
|
|
96
|
+
def test_initialize_operating_system_override
|
97
|
+
Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS[:bulk_threshold] = 1
|
98
|
+
Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS['install'] = '--no-env-shebang'
|
99
|
+
|
100
|
+
Gem::ConfigFile::PLATFORM_DEFAULTS[:bulk_threshold] = 2
|
101
|
+
|
102
|
+
util_config_file
|
103
|
+
|
104
|
+
assert_equal 2, @cfg.bulk_threshold
|
105
|
+
assert_equal '--no-env-shebang', @cfg[:install]
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_initialize_platform_override
|
109
|
+
Gem::ConfigFile::PLATFORM_DEFAULTS[:bulk_threshold] = 2
|
110
|
+
Gem::ConfigFile::PLATFORM_DEFAULTS['install'] = '--no-env-shebang'
|
111
|
+
|
112
|
+
File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, 'w' do |fp|
|
113
|
+
fp.puts ":bulk_threshold: 3"
|
114
|
+
end
|
115
|
+
|
116
|
+
util_config_file
|
117
|
+
|
118
|
+
assert_equal 3, @cfg.bulk_threshold
|
119
|
+
assert_equal '--no-env-shebang', @cfg[:install]
|
120
|
+
end
|
121
|
+
|
122
|
+
def test_initialize_system_wide_override
|
123
|
+
File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, 'w' do |fp|
|
124
|
+
fp.puts ":backtrace: false"
|
125
|
+
fp.puts ":bulk_threshold: 2048"
|
126
|
+
end
|
127
|
+
|
128
|
+
File.open @temp_conf, 'w' do |fp|
|
129
|
+
fp.puts ":backtrace: true"
|
130
|
+
end
|
131
|
+
|
132
|
+
util_config_file
|
133
|
+
|
134
|
+
assert_equal 2048, @cfg.bulk_threshold
|
135
|
+
assert_equal true, @cfg.backtrace
|
136
|
+
end
|
137
|
+
|
87
138
|
def test_handle_arguments
|
88
139
|
args = %w[--backtrace --bunch --of --args here]
|
89
140
|
|
@@ -222,23 +273,6 @@ class TestGemConfigFile < RubyGemTestCase
|
|
222
273
|
assert_equal %w[http://even-more-gems.example.com], Gem.sources
|
223
274
|
end
|
224
275
|
|
225
|
-
def test_global_config_file
|
226
|
-
File.open(@temp_conf, 'w') do |fp|
|
227
|
-
fp.puts ":backtrace: true"
|
228
|
-
end
|
229
|
-
|
230
|
-
File.open(File.join(Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE),
|
231
|
-
'w') do |fp|
|
232
|
-
fp.puts ":backtrace: false"
|
233
|
-
fp.puts ":bulk_threshold: 2048"
|
234
|
-
end
|
235
|
-
|
236
|
-
util_config_file
|
237
|
-
|
238
|
-
assert_equal 2048, @cfg.bulk_threshold
|
239
|
-
assert @cfg.backtrace
|
240
|
-
end
|
241
|
-
|
242
276
|
def util_config_file(args = @cfg_args)
|
243
277
|
@cfg = Gem::ConfigFile.new args
|
244
278
|
end
|
@@ -29,12 +29,12 @@ class TestGemExtConfigureBuilder < RubyGemTestCase
|
|
29
29
|
Gem::Ext::ConfigureBuilder.build nil, nil, @dest_path, output
|
30
30
|
end
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
32
|
+
assert_equal "sh ./configure --prefix=#{@dest_path}", output.shift
|
33
|
+
assert_equal "", output.shift
|
34
|
+
assert_equal "make", output.shift
|
35
|
+
assert_match(/^ok$/m, output.shift)
|
36
|
+
assert_equal "make install", output.shift
|
37
|
+
assert_match(/^ok$/m, output.shift)
|
38
38
|
end
|
39
39
|
|
40
40
|
def test_self_build_fail
|
@@ -47,9 +47,9 @@ class TestGemExtConfigureBuilder < RubyGemTestCase
|
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
50
|
-
shell_error_msg = %r{(\./configure:
|
50
|
+
shell_error_msg = %r{(\./configure: .*)|(Can't open \./configure)}
|
51
51
|
sh_prefix_configure = "sh ./configure --prefix="
|
52
|
-
|
52
|
+
|
53
53
|
expected = %r(configure failed:
|
54
54
|
|
55
55
|
#{Regexp.escape sh_prefix_configure}#{Regexp.escape @dest_path}
|
@@ -59,7 +59,7 @@ class TestGemExtConfigureBuilder < RubyGemTestCase
|
|
59
59
|
assert_match expected, error.message
|
60
60
|
|
61
61
|
assert_equal "#{sh_prefix_configure}#{@dest_path}", output.shift
|
62
|
-
assert_match %r(#{shell_error_msg}
|
62
|
+
assert_match %r(#{shell_error_msg}), output.shift
|
63
63
|
assert_equal true, output.empty?
|
64
64
|
end
|
65
65
|
|
@@ -3,7 +3,6 @@ require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
|
|
3
3
|
require 'rubygems/ext'
|
4
4
|
|
5
5
|
class TestGemExtRakeBuilder < RubyGemTestCase
|
6
|
-
|
7
6
|
def setup
|
8
7
|
super
|
9
8
|
|
@@ -26,19 +25,25 @@ class TestGemExtRakeBuilder < RubyGemTestCase
|
|
26
25
|
output = []
|
27
26
|
realdir = nil # HACK /tmp vs. /private/tmp
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
build_rake_in do
|
29
|
+
Dir.chdir @ext do
|
30
|
+
realdir = Dir.pwd
|
31
|
+
Gem::Ext::RakeBuilder.build 'mkrf_conf.rb', nil, @dest_path, output
|
32
|
+
end
|
32
33
|
end
|
33
34
|
|
35
|
+
output = output.join "\n"
|
36
|
+
|
34
37
|
expected = [
|
35
|
-
"#{
|
38
|
+
"#{@@ruby} mkrf_conf.rb",
|
36
39
|
"",
|
37
|
-
"rake RUBYARCHDIR=#{@dest_path} RUBYLIBDIR=#{@dest_path}",
|
40
|
+
"#{@@rake} RUBYARCHDIR=#{@dest_path} RUBYLIBDIR=#{@dest_path}",
|
38
41
|
"(in #{realdir})\n"
|
39
42
|
]
|
40
43
|
|
41
|
-
|
44
|
+
assert_no_match %r%^rake failed:%, output
|
45
|
+
assert_match %r%^#{Regexp.escape @@ruby} mkrf_conf\.rb%, output
|
46
|
+
assert_match %r%^#{Regexp.escape @@rake} RUBYARCHDIR=#{Regexp.escape @dest_path} RUBYLIBDIR=#{Regexp.escape @dest_path}%, output
|
42
47
|
end
|
43
48
|
|
44
49
|
def test_class_build_fail
|
@@ -53,20 +58,24 @@ class TestGemExtRakeBuilder < RubyGemTestCase
|
|
53
58
|
output = []
|
54
59
|
|
55
60
|
error = assert_raise Gem::InstallError do
|
56
|
-
|
57
|
-
|
61
|
+
build_rake_in do
|
62
|
+
Dir.chdir @ext do
|
63
|
+
Gem::Ext::RakeBuilder.build "mkrf_conf.rb", nil, @dest_path, output
|
64
|
+
end
|
58
65
|
end
|
59
66
|
end
|
60
67
|
|
61
68
|
expected = <<-EOF.strip
|
62
69
|
rake failed:
|
63
70
|
|
64
|
-
#{
|
71
|
+
#{@@ruby} mkrf_conf.rb
|
65
72
|
|
66
|
-
rake RUBYARCHDIR=#{@dest_path} RUBYLIBDIR=#{@dest_path}
|
73
|
+
#{@@rake} RUBYARCHDIR=#{@dest_path} RUBYLIBDIR=#{@dest_path}
|
67
74
|
EOF
|
68
75
|
|
69
|
-
|
76
|
+
assert_match %r%^rake failed:%, error.message
|
77
|
+
assert_match %r%^#{Regexp.escape @@ruby} mkrf_conf\.rb%, error.message
|
78
|
+
assert_match %r%^#{Regexp.escape @@rake} RUBYARCHDIR=#{Regexp.escape @dest_path} RUBYLIBDIR=#{Regexp.escape @dest_path}%, error.message
|
70
79
|
end
|
71
80
|
|
72
81
|
end
|