File tree 9 files changed +58
-21
lines changed
9 files changed +58
-21
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ require 'rake/testtask'
5
5
require 'rubocop/rake_task'
6
6
7
7
task :docs => :generate
8
- task :test => :generate
8
+ task :test => [ :normal_test , :rubygems_test ]
9
9
10
10
PARSER_FILES = %w[
11
11
lib/rdoc/rd/block_parser.ry
@@ -34,10 +34,18 @@ task ghpages: :rdoc do
34
34
FileUtils . cp_r Dir . glob ( "/tmp/html/*" ) , "."
35
35
end
36
36
37
- Rake ::TestTask . new ( :test ) do |t |
37
+ Rake ::TestTask . new ( :normal_test ) do |t |
38
38
t . libs << "test/rdoc"
39
39
t . verbose = true
40
- t . test_files = FileList [ 'test/**/test_*.rb' ]
40
+ t . deps = :generate
41
+ t . test_files = FileList [ "test/**/test_*.rb" ] . exclude ( "test/rdoc/test_rdoc_rubygems_hook.rb" )
42
+ end
43
+
44
+ Rake ::TestTask . new ( :rubygems_test ) do |t |
45
+ t . libs << "test/rdoc"
46
+ t . verbose = true
47
+ t . deps = :generate
48
+ t . pattern = "test/rdoc/test_rdoc_rubygems_hook.rb"
41
49
end
42
50
43
51
path = "pkg/#{ Bundler ::GemHelper . gemspec . full_name } "
Original file line number Diff line number Diff line change @@ -555,7 +555,13 @@ def finish_page_dir
555
555
556
556
@files << @page_dir . to_s
557
557
558
- page_dir = @page_dir . expand_path . relative_path_from @root
558
+ page_dir = nil
559
+ begin
560
+ page_dir = @page_dir . expand_path . relative_path_from @root
561
+ rescue ArgumentError
562
+ # On Windows, sometimes crosses different drive letters.
563
+ page_dir = @page_dir . expand_path
564
+ end
559
565
560
566
@page_dir = page_dir
561
567
end
@@ -1154,8 +1160,17 @@ def sanitize_path path
1154
1160
1155
1161
path . reject do |item |
1156
1162
path = Pathname . new ( item ) . expand_path
1157
- relative = path . relative_path_from ( dot ) . to_s
1158
- relative . start_with? '..'
1163
+ is_reject = nil
1164
+ relative = nil
1165
+ begin
1166
+ relative = path . relative_path_from ( dot ) . to_s
1167
+ rescue ArgumentError
1168
+ # On Windows, sometimes crosses different drive letters.
1169
+ is_reject = true
1170
+ else
1171
+ is_reject = relative . start_with? '..'
1172
+ end
1173
+ is_reject
1159
1174
end
1160
1175
end
1161
1176
Original file line number Diff line number Diff line change @@ -168,7 +168,7 @@ def test_generate_gzipped
168
168
begin
169
169
require 'zlib'
170
170
rescue LoadError
171
- skip "no zlib"
171
+ omit "no zlib"
172
172
end
173
173
@g . generate
174
174
@g . generate_gzipped
Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ def test_load_existent_po
32
32
begin
33
33
require 'gettext/po_parser'
34
34
rescue LoadError
35
- skip 'gettext gem is not found'
35
+ omit 'gettext gem is not found'
36
36
end
37
37
38
38
fr_locale_dir = File . join @locale_dir , 'fr'
Original file line number Diff line number Diff line change @@ -17,8 +17,8 @@ def teardown
17
17
end
18
18
19
19
def test_check_files
20
- skip "assumes UNIX permission model" if /mswin|mingw/ =~ RUBY_PLATFORM
21
- skip "assumes that euid is not root" if Process . euid == 0
20
+ omit "assumes UNIX permission model" if /mswin|mingw/ =~ RUBY_PLATFORM
21
+ omit "assumes that euid is not root" if Process . euid == 0
22
22
23
23
out , err = capture_output do
24
24
temp_dir do
@@ -493,8 +493,14 @@ def test_parse_page_dir
493
493
assert_empty out
494
494
assert_empty err
495
495
496
- expected =
497
- Pathname ( Dir . tmpdir ) . expand_path . relative_path_from @options . root
496
+ expected = nil
497
+ begin
498
+ expected =
499
+ Pathname ( Dir . tmpdir ) . expand_path . relative_path_from @options . root
500
+ rescue ArgumentError
501
+ # On Windows, sometimes crosses different drive letters.
502
+ expected = Pathname ( Dir . tmpdir ) . expand_path
503
+ end
498
504
499
505
assert_equal expected , @options . page_dir
500
506
assert_equal [ Dir . tmpdir ] , @options . files
Original file line number Diff line number Diff line change @@ -104,7 +104,7 @@ def test_class_for_executable
104
104
end
105
105
106
106
def test_class_for_forbidden
107
- skip 'chmod not supported' if Gem . win_platform?
107
+ omit 'chmod not supported' if Gem . win_platform?
108
108
109
109
tf = Tempfile . open 'forbidden' do |io |
110
110
begin
Original file line number Diff line number Diff line change @@ -163,7 +163,7 @@ def test_normalized_file_list_not_modified
163
163
164
164
def test_normalized_file_list_non_file_directory
165
165
dev = File ::NULL
166
- skip "#{ dev } is not a character special" unless
166
+ omit "#{ dev } is not a character special" unless
167
167
File . chardev? dev
168
168
169
169
files = nil
@@ -190,6 +190,10 @@ def test_normalized_file_list_with_dot_doc
190
190
FileUtils . touch a
191
191
FileUtils . touch b
192
192
FileUtils . touch c
193
+ # Use Dir.glob to convert short path of Dir.tmpdir to long path.
194
+ a = Dir . glob ( a ) . first
195
+ b = Dir . glob ( b ) . first
196
+ c = Dir . glob ( c ) . first
193
197
194
198
dot_doc = File . expand_path ( '.document' )
195
199
FileUtils . touch dot_doc
@@ -217,6 +221,10 @@ def test_normalized_file_list_with_dot_doc_overridden_by_exclude_option
217
221
FileUtils . touch a
218
222
FileUtils . touch b
219
223
FileUtils . touch c
224
+ # Use Dir.glob to convert short path of Dir.tmpdir to long path.
225
+ a = Dir . glob ( a ) . first
226
+ b = Dir . glob ( b ) . first
227
+ c = Dir . glob ( c ) . first
220
228
221
229
dot_doc = File . expand_path ( '.document' )
222
230
FileUtils . touch dot_doc
@@ -349,8 +357,8 @@ def test_parse_file_encoding
349
357
end
350
358
351
359
def test_parse_file_forbidden
352
- skip 'chmod not supported' if Gem . win_platform?
353
- skip "assumes that euid is not root" if Process . euid == 0
360
+ omit 'chmod not supported' if Gem . win_platform?
361
+ omit "assumes that euid is not root" if Process . euid == 0
354
362
355
363
@rdoc . store = RDoc ::Store . new
356
364
Original file line number Diff line number Diff line change @@ -1029,7 +1029,7 @@ def test_find_store
1029
1029
end
1030
1030
1031
1031
def test_did_you_mean
1032
- skip 'skip test with did_you_men' unless defined? DidYouMean ::SpellChecker
1032
+ omit 'skip test with did_you_men' unless defined? DidYouMean ::SpellChecker
1033
1033
1034
1034
util_ancestors_store
1035
1035
@@ -1227,7 +1227,7 @@ def _test_page # this test doesn't do anything anymore :(
1227
1227
1228
1228
with_dummy_pager do
1229
1229
@driver . page do |io |
1230
- skip "couldn't find a standard pager" if io == $stdout
1230
+ omit "couldn't find a standard pager" if io == $stdout
1231
1231
1232
1232
assert @driver . paging?
1233
1233
end
@@ -1406,7 +1406,7 @@ def _test_setup_pager # this test doesn't do anything anymore :(
1406
1406
1407
1407
pager = with_dummy_pager do @driver . setup_pager end
1408
1408
1409
- skip "couldn't find a standard pager" unless pager
1409
+ omit "couldn't find a standard pager" unless pager
1410
1410
1411
1411
assert @driver . paging?
1412
1412
ensure
Original file line number Diff line number Diff line change @@ -294,7 +294,7 @@ def test_generator_for
294
294
end
295
295
296
296
def test_if_modified_since
297
- skip 'File.utime on directory not supported' if Gem . win_platform?
297
+ omit 'File.utime on directory not supported' if Gem . win_platform?
298
298
299
299
temp_dir do
300
300
now = Time . now
@@ -307,7 +307,7 @@ def test_if_modified_since
307
307
end
308
308
309
309
def test_if_modified_since_not_modified
310
- skip 'File.utime on directory not supported' if Gem . win_platform?
310
+ omit 'File.utime on directory not supported' if Gem . win_platform?
311
311
312
312
temp_dir do
313
313
now = Time . now
You can’t perform that action at this time.
0 commit comments