rubygems-update 1.6.2 → 1.7.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 +0 -0
- data/.autotest +0 -1
- data/History.txt +70 -4
- data/README.rdoc +3 -0
- data/Rakefile +76 -0
- data/lib/rubygems.rb +57 -27
- data/lib/rubygems/command.rb +6 -4
- data/lib/rubygems/commands/contents_command.rb +14 -11
- data/lib/rubygems/commands/fetch_command.rb +6 -3
- data/lib/rubygems/commands/outdated_command.rb +2 -1
- data/lib/rubygems/commands/pristine_command.rb +4 -3
- data/lib/rubygems/commands/unpack_command.rb +46 -4
- data/lib/rubygems/commands/update_command.rb +24 -10
- data/lib/rubygems/custom_require.rb +1 -2
- data/lib/rubygems/dependency_installer.rb +1 -1
- data/lib/rubygems/ext/rake_builder.rb +1 -1
- data/lib/rubygems/gem_runner.rb +1 -0
- data/lib/rubygems/mock_gem_ui.rb +2 -1
- data/lib/rubygems/package/tar_input.rb +1 -0
- data/lib/rubygems/remote_fetcher.rb +62 -39
- data/lib/rubygems/server.rb +1 -1
- data/lib/rubygems/source_index.rb +64 -43
- data/lib/rubygems/spec_fetcher.rb +5 -6
- data/lib/rubygems/specification.rb +375 -402
- data/lib/rubygems/test_case.rb +7 -8
- data/lib/rubygems/uninstaller.rb +2 -2
- data/lib/rubygems/user_interaction.rb +27 -31
- data/test/rubygems/test_gem.rb +2 -44
- data/test/rubygems/test_gem_commands_contents_command.rb +19 -30
- data/test/rubygems/test_gem_commands_unpack_command.rb +24 -0
- data/test/rubygems/test_gem_commands_update_command.rb +26 -1
- data/test/rubygems/test_gem_dependency_installer.rb +9 -5
- data/test/rubygems/test_gem_dependency_list.rb +2 -6
- data/test/rubygems/test_gem_gem_runner.rb +1 -4
- data/test/rubygems/test_gem_installer.rb +1 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +131 -24
- data/test/rubygems/test_gem_source_index.rb +7 -192
- data/test/rubygems/test_gem_specification.rb +132 -103
- metadata +9 -9
- metadata.gz.sig +0 -0
@@ -40,11 +40,9 @@ end
|
|
40
40
|
def setup
|
41
41
|
super
|
42
42
|
|
43
|
-
|
44
|
-
@a1 = quick_gem 'a', '1' do |s|
|
43
|
+
@a1 = quick_spec 'a', '1' do |s|
|
45
44
|
s.executable = 'exec'
|
46
45
|
s.extensions << 'ext/a/extconf.rb'
|
47
|
-
s.has_rdoc = 'true'
|
48
46
|
s.test_file = 'test/suite.rb'
|
49
47
|
s.requirements << 'A working computer'
|
50
48
|
s.rubyforge_project = 'example'
|
@@ -58,15 +56,10 @@ end
|
|
58
56
|
s.files = %w[lib/code.rb]
|
59
57
|
end
|
60
58
|
|
61
|
-
@a2 =
|
59
|
+
@a2 = quick_spec 'a', '2' do |s|
|
62
60
|
s.files = %w[lib/code.rb]
|
63
61
|
end
|
64
62
|
|
65
|
-
FileUtils.mkdir_p File.join(@tempdir, 'bin')
|
66
|
-
File.open File.join(@tempdir, 'bin', 'exec'), 'w' do |fp|
|
67
|
-
fp.puts "#!#{Gem.ruby}"
|
68
|
-
end
|
69
|
-
|
70
63
|
@current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
71
64
|
end
|
72
65
|
|
@@ -77,7 +70,6 @@ end
|
|
77
70
|
bindir
|
78
71
|
cert_chain
|
79
72
|
date
|
80
|
-
default_executable
|
81
73
|
dependencies
|
82
74
|
description
|
83
75
|
email
|
@@ -85,7 +77,6 @@ end
|
|
85
77
|
extensions
|
86
78
|
extra_rdoc_files
|
87
79
|
files
|
88
|
-
has_rdoc
|
89
80
|
homepage
|
90
81
|
licenses
|
91
82
|
name
|
@@ -124,17 +115,25 @@ end
|
|
124
115
|
end
|
125
116
|
|
126
117
|
def test_self_load
|
127
|
-
|
128
|
-
|
118
|
+
full_path = File.join @gemhome, 'specifications', @a2.spec_name
|
119
|
+
path = File.join "specifications", @a2.spec_name
|
120
|
+
write_file path do |io|
|
121
|
+
io.write @a2.to_ruby_for_cache
|
122
|
+
end
|
123
|
+
|
124
|
+
spec = Gem::Specification.load full_path
|
129
125
|
|
130
|
-
|
126
|
+
@a2.files.clear
|
127
|
+
|
128
|
+
assert_equal @a2, spec
|
131
129
|
end
|
132
130
|
|
133
131
|
def test_self_load_legacy_ruby
|
134
|
-
spec =
|
132
|
+
spec = Deprecate.skip_during do
|
133
|
+
eval LEGACY_RUBY_SPEC
|
134
|
+
end
|
135
135
|
assert_equal 'keyedlist', spec.name
|
136
136
|
assert_equal '0.4.0', spec.version.to_s
|
137
|
-
assert_equal true, spec.has_rdoc?
|
138
137
|
assert_equal Gem::Specification::TODAY, spec.date
|
139
138
|
assert spec.required_ruby_version.satisfied_by?(Gem::Version.new('1'))
|
140
139
|
assert_equal false, spec.has_unit_tests?
|
@@ -189,8 +188,6 @@ end
|
|
189
188
|
assert_equal [], spec.requirements
|
190
189
|
assert_equal [], spec.dependencies
|
191
190
|
assert_equal 'bin', spec.bindir
|
192
|
-
assert_equal true, spec.has_rdoc
|
193
|
-
assert_equal true, spec.has_rdoc?
|
194
191
|
assert_equal '>= 0', spec.required_ruby_version.to_s
|
195
192
|
assert_equal '>= 0', spec.required_rubygems_version.to_s
|
196
193
|
end
|
@@ -273,9 +270,6 @@ end
|
|
273
270
|
assert_equal 'bin', spec.bindir
|
274
271
|
assert_same spec.bindir, new_spec.bindir
|
275
272
|
|
276
|
-
assert_equal true, spec.has_rdoc
|
277
|
-
assert_same spec.has_rdoc, new_spec.has_rdoc
|
278
|
-
|
279
273
|
assert_equal '>= 0', spec.required_ruby_version.to_s
|
280
274
|
assert_same spec.required_ruby_version, new_spec.required_ruby_version
|
281
275
|
|
@@ -284,6 +278,23 @@ end
|
|
284
278
|
new_spec.required_rubygems_version
|
285
279
|
end
|
286
280
|
|
281
|
+
def test_initialize_copy_broken
|
282
|
+
spec = Gem::Specification.new do |s|
|
283
|
+
s.name = 'a'
|
284
|
+
s.version = '1'
|
285
|
+
end
|
286
|
+
|
287
|
+
spec.instance_variable_set :@licenses, nil
|
288
|
+
spec.loaded_from = '/path/to/file'
|
289
|
+
|
290
|
+
e = assert_raises Gem::FormatException do
|
291
|
+
spec.dup
|
292
|
+
end
|
293
|
+
|
294
|
+
assert_equal 'a-1 has an invalid value for @licenses', e.message
|
295
|
+
assert_equal '/path/to/file', e.file_path
|
296
|
+
end
|
297
|
+
|
287
298
|
def test__dump
|
288
299
|
@a2.platform = Gem::Platform.local
|
289
300
|
@a2.instance_variable_set :@original_platform, 'old_platform'
|
@@ -332,37 +343,33 @@ end
|
|
332
343
|
|
333
344
|
def test_date_equals_date
|
334
345
|
@a1.date = Date.new(2003, 9, 17)
|
335
|
-
assert_equal Time.
|
346
|
+
assert_equal Time.utc(2003, 9, 17, 0,0,0), @a1.date
|
336
347
|
end
|
337
348
|
|
338
349
|
def test_date_equals_string
|
339
350
|
@a1.date = '2003-09-17'
|
340
|
-
assert_equal Time.
|
351
|
+
assert_equal Time.utc(2003, 9, 17, 0,0,0), @a1.date
|
352
|
+
end
|
353
|
+
|
354
|
+
def test_date_equals_string_bad
|
355
|
+
assert_raises Gem::InvalidSpecificationException do
|
356
|
+
@a1.date = '9/11/2003'
|
357
|
+
end
|
341
358
|
end
|
342
359
|
|
343
360
|
def test_date_equals_time
|
344
361
|
@a1.date = Time.local(2003, 9, 17, 0,0,0)
|
345
|
-
assert_equal Time.
|
362
|
+
assert_equal Time.utc(2003, 9, 17, 0,0,0), @a1.date
|
346
363
|
end
|
347
364
|
|
348
365
|
def test_date_equals_time_local
|
349
|
-
#
|
350
|
-
|
351
|
-
assert_equal Time.local(2003, 9, 17, 0,0,0), @a1.date
|
366
|
+
@a1.date = Time.local(2003, 9, 17, 19,50,0) # may not pass in utc >= +4
|
367
|
+
assert_equal Time.utc(2003, 9, 17, 0,0,0), @a1.date
|
352
368
|
end
|
353
369
|
|
354
370
|
def test_date_equals_time_utc
|
355
|
-
|
356
|
-
|
357
|
-
assert_equal Time.local(2003, 9, 17, 0,0,0), @a1.date
|
358
|
-
end
|
359
|
-
|
360
|
-
def test_default_executable
|
361
|
-
assert_equal 'exec', @a1.default_executable
|
362
|
-
|
363
|
-
@a1.default_executable = nil
|
364
|
-
@a1.instance_variable_set :@executables, nil
|
365
|
-
assert_equal nil, @a1.default_executable
|
371
|
+
@a1.date = Time.utc(2003, 9, 17, 19,50,0)
|
372
|
+
assert_equal Time.utc(2003, 9, 17, 0,0,0), @a1.date
|
366
373
|
end
|
367
374
|
|
368
375
|
def test_dependencies
|
@@ -416,7 +423,6 @@ end
|
|
416
423
|
s.homepage = %q{http://www.spice-of-life.net/download/cgikit/}
|
417
424
|
s.autorequire = %q{cgikit}
|
418
425
|
s.bindir = nil
|
419
|
-
s.has_rdoc = true
|
420
426
|
s.required_ruby_version = nil
|
421
427
|
s.platform = nil
|
422
428
|
s.files = ["lib/cgikit", "lib/cgikit.rb", "lib/cgikit/components", "..."]
|
@@ -425,14 +431,6 @@ end
|
|
425
431
|
assert_equal cgikit, cgikit
|
426
432
|
end
|
427
433
|
|
428
|
-
def test_equals2_default_executable
|
429
|
-
spec = @a1.dup
|
430
|
-
spec.default_executable = 'xx'
|
431
|
-
|
432
|
-
refute_equal @a1, spec
|
433
|
-
refute_equal spec, @a1
|
434
|
-
end
|
435
|
-
|
436
434
|
def test_equals2_extensions
|
437
435
|
spec = @a1.dup
|
438
436
|
spec.extensions = 'xx'
|
@@ -536,9 +534,26 @@ end
|
|
536
534
|
assert_kind_of Integer, @a1.hash
|
537
535
|
end
|
538
536
|
|
537
|
+
def test_for_cache
|
538
|
+
@a2.add_runtime_dependency 'b', '1'
|
539
|
+
@a2.dependencies.first.instance_variable_set :@type, nil
|
540
|
+
@a2.required_rubygems_version = Gem::Requirement.new '> 0'
|
541
|
+
@a2.test_files = %w[test/test_b.rb]
|
542
|
+
|
543
|
+
refute_empty @a2.files
|
544
|
+
refute_empty @a2.test_files
|
545
|
+
|
546
|
+
spec = @a2.for_cache
|
547
|
+
|
548
|
+
assert_empty spec.files
|
549
|
+
assert_empty spec.test_files
|
550
|
+
|
551
|
+
refute_empty @a2.files
|
552
|
+
refute_empty @a2.test_files
|
553
|
+
end
|
554
|
+
|
539
555
|
def test_full_gem_path
|
540
|
-
assert_equal File.join(@gemhome, 'gems', @a1.full_name),
|
541
|
-
@a1.full_gem_path
|
556
|
+
assert_equal File.join(@gemhome, 'gems', @a1.full_name), @a1.full_gem_path
|
542
557
|
|
543
558
|
@a1.original_platform = 'mswin32'
|
544
559
|
|
@@ -583,21 +598,6 @@ end
|
|
583
598
|
end
|
584
599
|
end
|
585
600
|
|
586
|
-
def test_has_rdoc_eh
|
587
|
-
assert @a1.has_rdoc?
|
588
|
-
end
|
589
|
-
|
590
|
-
def test_has_rdoc_equals
|
591
|
-
|
592
|
-
use_ui @ui do
|
593
|
-
@a1.has_rdoc = false
|
594
|
-
end
|
595
|
-
|
596
|
-
assert_equal '', @ui.output
|
597
|
-
|
598
|
-
assert_equal true, @a1.has_rdoc
|
599
|
-
end
|
600
|
-
|
601
601
|
def test_hash
|
602
602
|
assert_equal @a1.hash, @a1.hash
|
603
603
|
assert_equal @a1.hash, @a1.dup.hash
|
@@ -864,7 +864,6 @@ Gem::Specification.new do |s|
|
|
864
864
|
s.required_rubygems_version = Gem::Requirement.new(\">= 0\") if s.respond_to? :required_rubygems_version=
|
865
865
|
s.authors = [\"A User\"]
|
866
866
|
s.date = %q{#{Gem::Specification::TODAY.strftime "%Y-%m-%d"}}
|
867
|
-
s.default_executable = %q{exec}
|
868
867
|
s.description = %q{This is a test description}
|
869
868
|
s.email = %q{example@example.com}
|
870
869
|
s.executables = [\"exec\"]
|
@@ -907,7 +906,9 @@ end
|
|
907
906
|
end
|
908
907
|
|
909
908
|
def test_to_ruby_legacy
|
910
|
-
gemspec1 =
|
909
|
+
gemspec1 = Deprecate.skip_during do
|
910
|
+
eval LEGACY_RUBY_SPEC
|
911
|
+
end
|
911
912
|
ruby_code = gemspec1.to_ruby
|
912
913
|
gemspec2 = eval ruby_code
|
913
914
|
|
@@ -978,6 +979,11 @@ end
|
|
978
979
|
end
|
979
980
|
end
|
980
981
|
|
982
|
+
def x s; s.gsub(/xxx/, ''); end
|
983
|
+
def w; x "WARxxxNING"; end
|
984
|
+
def t; x "TOxxxDO"; end
|
985
|
+
def f; x "FxxxIXME"; end
|
986
|
+
|
981
987
|
def test_validate_authors
|
982
988
|
util_setup_validate
|
983
989
|
|
@@ -988,7 +994,7 @@ end
|
|
988
994
|
@a1.validate
|
989
995
|
end
|
990
996
|
|
991
|
-
assert_equal "
|
997
|
+
assert_equal "#{w}: no author specified\n", @ui.error, 'error'
|
992
998
|
|
993
999
|
@a1.authors = [Object.new]
|
994
1000
|
|
@@ -996,23 +1002,23 @@ end
|
|
996
1002
|
@a1.validate
|
997
1003
|
end
|
998
1004
|
|
999
|
-
assert_equal
|
1005
|
+
assert_equal "authors must be an Array of String instances", e.message
|
1000
1006
|
|
1001
|
-
@a1.authors = [
|
1007
|
+
@a1.authors = ["#{f} (who is writing this software)"]
|
1002
1008
|
|
1003
1009
|
e = assert_raises Gem::InvalidSpecificationException do
|
1004
1010
|
@a1.validate
|
1005
1011
|
end
|
1006
1012
|
|
1007
|
-
assert_equal
|
1013
|
+
assert_equal %{"#{f}" or "#{t}" is not an author}, e.message
|
1008
1014
|
|
1009
|
-
@a1.authors = [
|
1015
|
+
@a1.authors = ["#{t} (who is writing this software)"]
|
1010
1016
|
|
1011
1017
|
e = assert_raises Gem::InvalidSpecificationException do
|
1012
1018
|
@a1.validate
|
1013
1019
|
end
|
1014
1020
|
|
1015
|
-
assert_equal
|
1021
|
+
assert_equal %{"#{f}" or "#{t}" is not an author}, e.message
|
1016
1022
|
end
|
1017
1023
|
end
|
1018
1024
|
|
@@ -1026,7 +1032,7 @@ end
|
|
1026
1032
|
@a1.validate
|
1027
1033
|
end
|
1028
1034
|
|
1029
|
-
assert_equal "
|
1035
|
+
assert_equal "#{w}: deprecated autorequire specified\n",
|
1030
1036
|
@ui.error, 'error'
|
1031
1037
|
end
|
1032
1038
|
end
|
@@ -1041,34 +1047,34 @@ end
|
|
1041
1047
|
@a1.validate
|
1042
1048
|
end
|
1043
1049
|
|
1044
|
-
assert_equal "
|
1050
|
+
assert_equal "#{w}: no description specified\n", @ui.error, "error"
|
1045
1051
|
|
1046
1052
|
@ui = Gem::MockGemUi.new
|
1047
|
-
@a1.summary =
|
1053
|
+
@a1.summary = "this is my summary"
|
1048
1054
|
@a1.description = @a1.summary
|
1049
1055
|
|
1050
1056
|
use_ui @ui do
|
1051
1057
|
@a1.validate
|
1052
1058
|
end
|
1053
1059
|
|
1054
|
-
assert_equal "
|
1055
|
-
@ui.error,
|
1060
|
+
assert_equal "#{w}: description and summary are identical\n",
|
1061
|
+
@ui.error, "error"
|
1056
1062
|
|
1057
|
-
@a1.description =
|
1063
|
+
@a1.description = "#{f} (describe your package)"
|
1058
1064
|
|
1059
1065
|
e = assert_raises Gem::InvalidSpecificationException do
|
1060
1066
|
@a1.validate
|
1061
1067
|
end
|
1062
1068
|
|
1063
|
-
assert_equal
|
1069
|
+
assert_equal %{"#{f}" or "#{t}" is not a description}, e.message
|
1064
1070
|
|
1065
|
-
@a1.description =
|
1071
|
+
@a1.description = "#{t} (describe your package)"
|
1066
1072
|
|
1067
1073
|
e = assert_raises Gem::InvalidSpecificationException do
|
1068
1074
|
@a1.validate
|
1069
1075
|
end
|
1070
1076
|
|
1071
|
-
assert_equal
|
1077
|
+
assert_equal %{"#{f}" or "#{t}" is not a description}, e.message
|
1072
1078
|
end
|
1073
1079
|
end
|
1074
1080
|
|
@@ -1076,35 +1082,33 @@ end
|
|
1076
1082
|
util_setup_validate
|
1077
1083
|
|
1078
1084
|
Dir.chdir @tempdir do
|
1079
|
-
@a1.email =
|
1085
|
+
@a1.email = ""
|
1080
1086
|
|
1081
1087
|
use_ui @ui do
|
1082
1088
|
@a1.validate
|
1083
1089
|
end
|
1084
1090
|
|
1085
|
-
assert_equal "
|
1091
|
+
assert_equal "#{w}: no email specified\n", @ui.error, "error"
|
1086
1092
|
|
1087
|
-
@a1.email =
|
1093
|
+
@a1.email = "FIxxxXME (your e-mail)".sub(/xxx/, "")
|
1088
1094
|
|
1089
1095
|
e = assert_raises Gem::InvalidSpecificationException do
|
1090
1096
|
@a1.validate
|
1091
1097
|
end
|
1092
1098
|
|
1093
|
-
assert_equal
|
1099
|
+
assert_equal %{"#{f}" or "#{t}" is not an email}, e.message
|
1094
1100
|
|
1095
|
-
@a1.email =
|
1101
|
+
@a1.email = "#{t} (your e-mail)"
|
1096
1102
|
|
1097
1103
|
e = assert_raises Gem::InvalidSpecificationException do
|
1098
1104
|
@a1.validate
|
1099
1105
|
end
|
1100
1106
|
|
1101
|
-
assert_equal
|
1107
|
+
assert_equal %{"#{f}" or "#{t}" is not an email}, e.message
|
1102
1108
|
end
|
1103
1109
|
end
|
1104
1110
|
|
1105
1111
|
def test_validate_empty
|
1106
|
-
util_setup_validate
|
1107
|
-
|
1108
1112
|
e = assert_raises Gem::InvalidSpecificationException do
|
1109
1113
|
Gem::Specification.new.validate
|
1110
1114
|
end
|
@@ -1128,7 +1132,7 @@ end
|
|
1128
1132
|
assert_equal %w[exec], @a1.executables
|
1129
1133
|
|
1130
1134
|
assert_equal '', @ui.output, 'output'
|
1131
|
-
assert_equal "
|
1135
|
+
assert_equal "#{w}: bin/exec is missing #! line\n", @ui.error, 'error'
|
1132
1136
|
end
|
1133
1137
|
|
1134
1138
|
def test_validate_empty_require_paths
|
@@ -1177,7 +1181,7 @@ end
|
|
1177
1181
|
@a1.validate
|
1178
1182
|
end
|
1179
1183
|
|
1180
|
-
assert_equal "
|
1184
|
+
assert_equal "#{w}: no homepage specified\n", @ui.error, 'error'
|
1181
1185
|
|
1182
1186
|
@ui = Gem::MockGemUi.new
|
1183
1187
|
|
@@ -1187,7 +1191,7 @@ end
|
|
1187
1191
|
@a1.validate
|
1188
1192
|
end
|
1189
1193
|
|
1190
|
-
assert_equal "
|
1194
|
+
assert_equal "#{w}: no homepage specified\n", @ui.error, 'error'
|
1191
1195
|
|
1192
1196
|
@a1.homepage = 'over at my cool site'
|
1193
1197
|
|
@@ -1210,6 +1214,26 @@ end
|
|
1210
1214
|
assert_equal 'invalid value for attribute name: ":json"', e.message
|
1211
1215
|
end
|
1212
1216
|
|
1217
|
+
def test_validate_non_nil
|
1218
|
+
util_setup_validate
|
1219
|
+
|
1220
|
+
Dir.chdir @tempdir do
|
1221
|
+
assert @a1.validate
|
1222
|
+
|
1223
|
+
Gem::Specification.non_nil_attributes.each do |name|
|
1224
|
+
next if name == :files # set by #normalize
|
1225
|
+
spec = @a1.dup
|
1226
|
+
spec.instance_variable_set "@#{name}", nil
|
1227
|
+
|
1228
|
+
e = assert_raises Gem::InvalidSpecificationException do
|
1229
|
+
spec.validate
|
1230
|
+
end
|
1231
|
+
|
1232
|
+
assert_match %r%^#{name}%, e.message
|
1233
|
+
end
|
1234
|
+
end
|
1235
|
+
end
|
1236
|
+
|
1213
1237
|
def test_validate_platform_legacy
|
1214
1238
|
util_setup_validate
|
1215
1239
|
|
@@ -1264,23 +1288,23 @@ end
|
|
1264
1288
|
@a1.validate
|
1265
1289
|
end
|
1266
1290
|
|
1267
|
-
assert_equal "
|
1291
|
+
assert_equal "#{w}: no summary specified\n", @ui.error, 'error'
|
1268
1292
|
|
1269
|
-
@a1.summary =
|
1293
|
+
@a1.summary = "#{f} (describe your package)"
|
1270
1294
|
|
1271
1295
|
e = assert_raises Gem::InvalidSpecificationException do
|
1272
1296
|
@a1.validate
|
1273
1297
|
end
|
1274
1298
|
|
1275
|
-
assert_equal
|
1299
|
+
assert_equal %{"#{f}" or "#{t}" is not a summary}, e.message
|
1276
1300
|
|
1277
|
-
@a1.summary =
|
1301
|
+
@a1.summary = "#{t} (describe your package)"
|
1278
1302
|
|
1279
1303
|
e = assert_raises Gem::InvalidSpecificationException do
|
1280
1304
|
@a1.validate
|
1281
1305
|
end
|
1282
1306
|
|
1283
|
-
assert_equal
|
1307
|
+
assert_equal %{"#{f}" or "#{t}" is not a summary}, e.message
|
1284
1308
|
end
|
1285
1309
|
end
|
1286
1310
|
|
@@ -1316,13 +1340,18 @@ end
|
|
1316
1340
|
|
1317
1341
|
def util_setup_validate
|
1318
1342
|
Dir.chdir @tempdir do
|
1319
|
-
FileUtils.mkdir_p File.join(
|
1320
|
-
FileUtils.mkdir_p
|
1321
|
-
FileUtils.mkdir_p
|
1343
|
+
FileUtils.mkdir_p File.join("ext", "a")
|
1344
|
+
FileUtils.mkdir_p "lib"
|
1345
|
+
FileUtils.mkdir_p "test"
|
1346
|
+
FileUtils.mkdir_p "bin"
|
1322
1347
|
|
1323
|
-
FileUtils.touch File.join(
|
1324
|
-
FileUtils.touch File.join(
|
1325
|
-
FileUtils.touch File.join(
|
1348
|
+
FileUtils.touch File.join("ext", "a", "extconf.rb")
|
1349
|
+
FileUtils.touch File.join("lib", "code.rb")
|
1350
|
+
FileUtils.touch File.join("test", "suite.rb")
|
1351
|
+
|
1352
|
+
File.open "bin/exec", "w" do |fp|
|
1353
|
+
fp.puts "#!#{Gem.ruby}"
|
1354
|
+
end
|
1326
1355
|
end
|
1327
1356
|
end
|
1328
1357
|
end
|