rake 11.1.2 → 11.2.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 rake might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +14 -0
- data/.rubocop.yml +0 -9
- data/.travis.yml +28 -0
- data/CONTRIBUTING.rdoc +3 -5
- data/Gemfile +3 -0
- data/History.rdoc +1770 -273
- data/Rakefile +15 -68
- data/appveyor.yml +24 -0
- data/bin/console +7 -0
- data/bin/setup +6 -0
- data/doc/release_notes/README.md +4 -0
- data/doc/release_notes/rake-0.7.3.rdoc +0 -0
- data/{bin → exe}/rake +0 -6
- data/lib/rake.rb +1 -3
- data/lib/rake/application.rb +3 -6
- data/lib/rake/cpu_counter.rb +3 -17
- data/lib/rake/file_utils.rb +22 -6
- data/lib/rake/packagetask.rb +12 -1
- data/lib/rake/rake_test_loader.rb +0 -1
- data/lib/rake/rule_recursion_overflow_error.rb +0 -1
- data/lib/rake/task.rb +3 -3
- data/lib/rake/task_arguments.rb +2 -1
- data/lib/rake/testtask.rb +5 -1
- data/lib/rake/thread_pool.rb +0 -1
- data/lib/rake/version.rb +2 -0
- data/rake.gemspec +30 -0
- metadata +21 -110
- data/.autotest +0 -7
- data/.togglerc +0 -7
- data/Manifest.txt +0 -154
- data/lib/rake/contrib/.document +0 -1
- data/rakelib/test_times.rake +0 -25
- data/test/file_creation.rb +0 -34
- data/test/helper.rb +0 -134
- data/test/support/rakefile_definitions.rb +0 -476
- data/test/support/ruby_runner.rb +0 -34
- data/test/test_private_reader.rb +0 -42
- data/test/test_rake.rb +0 -40
- data/test/test_rake_application.rb +0 -659
- data/test/test_rake_application_options.rb +0 -468
- data/test/test_rake_backtrace.rb +0 -119
- data/test/test_rake_clean.rb +0 -61
- data/test/test_rake_cpu_counter.rb +0 -68
- data/test/test_rake_definitions.rb +0 -84
- data/test/test_rake_directory_task.rb +0 -76
- data/test/test_rake_dsl.rb +0 -40
- data/test/test_rake_early_time.rb +0 -31
- data/test/test_rake_extension.rb +0 -59
- data/test/test_rake_file_creation_task.rb +0 -56
- data/test/test_rake_file_list.rb +0 -687
- data/test/test_rake_file_list_path_map.rb +0 -15
- data/test/test_rake_file_task.rb +0 -197
- data/test/test_rake_file_utils.rb +0 -318
- data/test/test_rake_ftp_file.rb +0 -74
- data/test/test_rake_functional.rb +0 -484
- data/test/test_rake_invocation_chain.rb +0 -64
- data/test/test_rake_late_time.rb +0 -18
- data/test/test_rake_linked_list.rb +0 -84
- data/test/test_rake_makefile_loader.rb +0 -46
- data/test/test_rake_multi_task.rb +0 -64
- data/test/test_rake_name_space.rb +0 -57
- data/test/test_rake_package_task.rb +0 -79
- data/test/test_rake_path_map.rb +0 -168
- data/test/test_rake_path_map_explode.rb +0 -34
- data/test/test_rake_path_map_partial.rb +0 -18
- data/test/test_rake_pathname_extensions.rb +0 -15
- data/test/test_rake_pseudo_status.rb +0 -21
- data/test/test_rake_rake_test_loader.rb +0 -20
- data/test/test_rake_reduce_compat.rb +0 -26
- data/test/test_rake_require.rb +0 -40
- data/test/test_rake_rules.rb +0 -388
- data/test/test_rake_scope.rb +0 -44
- data/test/test_rake_task.rb +0 -430
- data/test/test_rake_task_argument_parsing.rb +0 -119
- data/test/test_rake_task_arguments.rb +0 -134
- data/test/test_rake_task_manager.rb +0 -178
- data/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/test/test_rake_task_with_arguments.rb +0 -172
- data/test/test_rake_test_task.rb +0 -130
- data/test/test_rake_thread_pool.rb +0 -145
- data/test/test_rake_top_level_functions.rb +0 -71
- data/test/test_rake_win32.rb +0 -72
- data/test/test_thread_history_display.rb +0 -101
- data/test/test_trace_output.rb +0 -52
data/test/test_rake_ftp_file.rb
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
2
|
-
require 'date'
|
3
|
-
require 'time'
|
4
|
-
require 'rake/contrib/ftptools'
|
5
|
-
|
6
|
-
class FakeDate
|
7
|
-
def self.today
|
8
|
-
Date.new(2003, 10, 3)
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.now
|
12
|
-
Time.local(2003, 10, 3, 12, 00, 00)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
class TestRakeFtpFile < Rake::TestCase
|
17
|
-
|
18
|
-
def setup
|
19
|
-
super
|
20
|
-
|
21
|
-
Rake::FtpFile.class_eval {
|
22
|
-
@date_class = FakeDate
|
23
|
-
@time_class = FakeDate
|
24
|
-
}
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_general
|
28
|
-
file = Rake::FtpFile.new(
|
29
|
-
"here",
|
30
|
-
"-rw-r--r-- 1 a279376 develop 121770 Mar 6 14:50 wiki.pl")
|
31
|
-
assert_equal "wiki.pl", file.name
|
32
|
-
assert_equal "here/wiki.pl", file.path
|
33
|
-
assert_equal "a279376", file.owner
|
34
|
-
assert_equal "develop", file.group
|
35
|
-
assert_equal 0644, file.mode
|
36
|
-
assert_equal 121_770, file.size
|
37
|
-
assert_equal Time.mktime(2003, 3, 6, 14, 50, 0, 0), file.time
|
38
|
-
assert ! file.directory?
|
39
|
-
assert ! file.symlink?
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_far_date
|
43
|
-
file = Rake::FtpFile.new(
|
44
|
-
".",
|
45
|
-
"drwxr-xr-x 3 a279376 develop 4096 Nov 26 2001 vss")
|
46
|
-
assert_equal Time.mktime(2001, 11, 26, 0, 0, 0, 0), file.time
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_close_date
|
50
|
-
file = Rake::FtpFile.new(
|
51
|
-
".",
|
52
|
-
"drwxr-xr-x 3 a279376 develop 4096 Nov 26 15:35 vss")
|
53
|
-
assert_equal Time.mktime(2002, 11, 26, 15, 35, 0, 0), file.time
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_directory
|
57
|
-
file = Rake::FtpFile.new(
|
58
|
-
".",
|
59
|
-
"drwxrwxr-x 9 a279376 develop 4096 Mar 13 14:32 working")
|
60
|
-
assert file.directory?
|
61
|
-
assert !file.symlink?
|
62
|
-
end
|
63
|
-
|
64
|
-
def test_symlink
|
65
|
-
file = Rake::FtpFile.new(
|
66
|
-
".",
|
67
|
-
"lrwxrwxrwx 1 a279376 develop 64 Mar 26 2002 " +
|
68
|
-
"xtrac -> /home/a279376/working/ics/development/java/" +
|
69
|
-
"com/fmr/fwp/ics/xtrac")
|
70
|
-
assert_equal 'xtrac', file.name
|
71
|
-
assert file.symlink?
|
72
|
-
assert !file.directory?
|
73
|
-
end
|
74
|
-
end
|
@@ -1,484 +0,0 @@
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
2
|
-
require 'fileutils'
|
3
|
-
require 'open3'
|
4
|
-
|
5
|
-
class TestRakeFunctional < Rake::TestCase
|
6
|
-
include RubyRunner
|
7
|
-
|
8
|
-
def setup
|
9
|
-
super
|
10
|
-
|
11
|
-
if @verbose
|
12
|
-
puts
|
13
|
-
puts
|
14
|
-
puts '-' * 80
|
15
|
-
puts @__name__
|
16
|
-
puts '-' * 80
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_rake_default
|
21
|
-
rakefile_default
|
22
|
-
|
23
|
-
rake
|
24
|
-
|
25
|
-
assert_match(/^DEFAULT$/, @out)
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_rake_error_on_bad_task
|
29
|
-
rakefile_default
|
30
|
-
|
31
|
-
rake '-t', 'xyz'
|
32
|
-
|
33
|
-
assert_match(/rake aborted/, @err)
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_env_available_at_top_scope
|
37
|
-
rakefile_default
|
38
|
-
|
39
|
-
rake "TESTTOPSCOPE=1"
|
40
|
-
|
41
|
-
assert_match(/^TOPSCOPE$/, @out)
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_env_available_at_task_scope
|
45
|
-
rakefile_default
|
46
|
-
|
47
|
-
rake 'TESTTASKSCOPE=1', 'task_scope'
|
48
|
-
|
49
|
-
assert_match(/^TASKSCOPE$/, @out)
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_multi_desc
|
53
|
-
ENV['RAKE_COLUMNS'] = '80'
|
54
|
-
rakefile_multidesc
|
55
|
-
|
56
|
-
rake "-T"
|
57
|
-
|
58
|
-
assert_match %r{^rake a *# A / A2 *$}, @out
|
59
|
-
assert_match %r{^rake b *# B *$}, @out
|
60
|
-
refute_match %r{^rake c}, @out
|
61
|
-
assert_match %r{^rake d *# x{65}\.\.\.$}, @out
|
62
|
-
end
|
63
|
-
|
64
|
-
def test_long_description
|
65
|
-
rakefile_multidesc
|
66
|
-
|
67
|
-
rake "--describe"
|
68
|
-
|
69
|
-
assert_match %r{^rake a\n *A\n *A2 *$}m, @out
|
70
|
-
assert_match %r{^rake b\n *B *$}m, @out
|
71
|
-
assert_match %r{^rake d\n *x{80}}m, @out
|
72
|
-
refute_match %r{^rake c\n}m, @out
|
73
|
-
end
|
74
|
-
|
75
|
-
def test_proper_namespace_access
|
76
|
-
rakefile_access
|
77
|
-
|
78
|
-
rake
|
79
|
-
|
80
|
-
refute_match %r{^BAD:}, @out
|
81
|
-
end
|
82
|
-
|
83
|
-
def test_rbext
|
84
|
-
rakefile_rbext
|
85
|
-
|
86
|
-
rake "-N"
|
87
|
-
|
88
|
-
assert_match %r{^OK$}, @out
|
89
|
-
end
|
90
|
-
|
91
|
-
def test_system
|
92
|
-
rake_system_dir
|
93
|
-
|
94
|
-
rake '-g', "sys1"
|
95
|
-
|
96
|
-
assert_match %r{^SYS1}, @out
|
97
|
-
end
|
98
|
-
|
99
|
-
def test_system_excludes_rakelib_files_too
|
100
|
-
rake_system_dir
|
101
|
-
|
102
|
-
rake '-g', "sys1", '-T', 'extra'
|
103
|
-
|
104
|
-
refute_match %r{extra:extra}, @out
|
105
|
-
end
|
106
|
-
|
107
|
-
def test_by_default_rakelib_files_are_included
|
108
|
-
rake_system_dir
|
109
|
-
rakefile_extra
|
110
|
-
|
111
|
-
rake '-T', 'extra', '--trace'
|
112
|
-
|
113
|
-
assert_match %r{extra:extra}, @out
|
114
|
-
end
|
115
|
-
|
116
|
-
def test_implicit_system
|
117
|
-
rake_system_dir
|
118
|
-
Dir.chdir @tempdir
|
119
|
-
|
120
|
-
rake "sys1", "--trace"
|
121
|
-
|
122
|
-
assert_match %r{^SYS1}, @out
|
123
|
-
end
|
124
|
-
|
125
|
-
def test_no_system
|
126
|
-
rake_system_dir
|
127
|
-
rakefile_extra
|
128
|
-
|
129
|
-
rake '-G', "sys1"
|
130
|
-
|
131
|
-
assert_match %r{^Don't know how to build task}, @err # emacs wart: '
|
132
|
-
end
|
133
|
-
|
134
|
-
def test_nosearch_with_rakefile_uses_local_rakefile
|
135
|
-
rakefile_default
|
136
|
-
|
137
|
-
rake "--nosearch"
|
138
|
-
|
139
|
-
assert_match %r{^DEFAULT}, @out
|
140
|
-
end
|
141
|
-
|
142
|
-
def test_nosearch_without_rakefile_finds_system
|
143
|
-
rakefile_nosearch
|
144
|
-
rake_system_dir
|
145
|
-
|
146
|
-
rake "--nosearch", "sys1"
|
147
|
-
|
148
|
-
assert_match %r{^SYS1}, @out
|
149
|
-
end
|
150
|
-
|
151
|
-
def test_nosearch_without_rakefile_and_no_system_fails
|
152
|
-
rakefile_nosearch
|
153
|
-
ENV['RAKE_SYSTEM'] = 'not_exist'
|
154
|
-
|
155
|
-
rake "--nosearch"
|
156
|
-
|
157
|
-
assert_match %r{^No Rakefile found}, @err
|
158
|
-
end
|
159
|
-
|
160
|
-
def test_invalid_command_line_options
|
161
|
-
rakefile_default
|
162
|
-
|
163
|
-
rake "--bad-options"
|
164
|
-
|
165
|
-
assert_match %r{invalid +option}i, @err
|
166
|
-
end
|
167
|
-
|
168
|
-
def test_inline_verbose_default_should_show_command
|
169
|
-
rakefile_verbose
|
170
|
-
|
171
|
-
rake "inline_verbose_default"
|
172
|
-
|
173
|
-
assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
|
174
|
-
end
|
175
|
-
|
176
|
-
def test_inline_verbose_true_should_show_command
|
177
|
-
rakefile_verbose
|
178
|
-
|
179
|
-
rake "inline_verbose_true"
|
180
|
-
|
181
|
-
assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
|
182
|
-
end
|
183
|
-
|
184
|
-
def test_inline_verbose_false_should_not_show_command
|
185
|
-
rakefile_verbose
|
186
|
-
|
187
|
-
rake "inline_verbose_false"
|
188
|
-
|
189
|
-
refute_match(/#{Regexp.quote(RUBY)} -e/, @err)
|
190
|
-
end
|
191
|
-
|
192
|
-
def test_block_verbose_false_should_not_show_command
|
193
|
-
rakefile_verbose
|
194
|
-
|
195
|
-
rake "block_verbose_false"
|
196
|
-
|
197
|
-
refute_match(/#{Regexp.quote(RUBY)} -e/, @err)
|
198
|
-
end
|
199
|
-
|
200
|
-
def test_block_verbose_true_should_show_command
|
201
|
-
rakefile_verbose
|
202
|
-
|
203
|
-
rake "block_verbose_true"
|
204
|
-
|
205
|
-
assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
|
206
|
-
end
|
207
|
-
|
208
|
-
def test_standalone_verbose_true_should_show_command
|
209
|
-
rakefile_verbose
|
210
|
-
|
211
|
-
rake "standalone_verbose_true"
|
212
|
-
|
213
|
-
assert_match(/#{Regexp.quote(RUBY)} -e/, @err)
|
214
|
-
end
|
215
|
-
|
216
|
-
def test_standalone_verbose_false_should_not_show_command
|
217
|
-
rakefile_verbose
|
218
|
-
|
219
|
-
rake "standalone_verbose_false"
|
220
|
-
|
221
|
-
refute_match(/#{Regexp.quote(RUBY)} -e/, @err)
|
222
|
-
end
|
223
|
-
|
224
|
-
def test_dry_run
|
225
|
-
rakefile_default
|
226
|
-
|
227
|
-
rake "-n", "other"
|
228
|
-
|
229
|
-
assert_match %r{Execute \(dry run\) default}, @err
|
230
|
-
assert_match %r{Execute \(dry run\) other}, @err
|
231
|
-
refute_match %r{DEFAULT}, @out
|
232
|
-
refute_match %r{OTHER}, @out
|
233
|
-
end
|
234
|
-
|
235
|
-
# Test for the trace/dry_run bug found by Brian Chandler
|
236
|
-
def test_dry_run_bug
|
237
|
-
rakefile_dryrun
|
238
|
-
|
239
|
-
rake
|
240
|
-
|
241
|
-
FileUtils.rm_f 'temp_one'
|
242
|
-
|
243
|
-
rake "--dry-run"
|
244
|
-
|
245
|
-
refute_match(/No such file/, @out)
|
246
|
-
end
|
247
|
-
|
248
|
-
# Test for the trace/dry_run bug found by Brian Chandler
|
249
|
-
def test_trace_bug
|
250
|
-
rakefile_dryrun
|
251
|
-
|
252
|
-
rake
|
253
|
-
|
254
|
-
FileUtils.rm_f 'temp_one'
|
255
|
-
|
256
|
-
rake "--trace"
|
257
|
-
|
258
|
-
refute_match(/No such file/, @out)
|
259
|
-
end
|
260
|
-
|
261
|
-
def test_imports
|
262
|
-
rakefile_imports
|
263
|
-
|
264
|
-
rake
|
265
|
-
|
266
|
-
assert File.exist?(File.join(@tempdir, 'dynamic_deps')),
|
267
|
-
"'dynamic_deps' file should exist"
|
268
|
-
assert_match(/^FIRST$\s+^DYNAMIC$\s+^STATIC$\s+^OTHER$/, @out)
|
269
|
-
end
|
270
|
-
|
271
|
-
def test_regenerate_imports
|
272
|
-
rakefile_regenerate_imports
|
273
|
-
|
274
|
-
rake
|
275
|
-
|
276
|
-
assert_match(/^INITIAL\s+^REGENERATED$/, @out)
|
277
|
-
end
|
278
|
-
|
279
|
-
def test_rules_chaining_to_file_task
|
280
|
-
rakefile_chains
|
281
|
-
|
282
|
-
rake
|
283
|
-
|
284
|
-
assert File.exist?(File.join(@tempdir, 'play.app')),
|
285
|
-
"'play.app' file should exist"
|
286
|
-
end
|
287
|
-
|
288
|
-
def test_file_creation_task
|
289
|
-
rakefile_file_creation
|
290
|
-
|
291
|
-
rake "prep"
|
292
|
-
rake "run"
|
293
|
-
rake "run"
|
294
|
-
|
295
|
-
assert(@err !~ /^cp src/, "Should not recopy data")
|
296
|
-
end
|
297
|
-
|
298
|
-
def test_dash_f_with_no_arg_foils_rakefile_lookup
|
299
|
-
rakefile_rakelib
|
300
|
-
|
301
|
-
rake '-I', 'rakelib', '-rtest1', '-f'
|
302
|
-
|
303
|
-
assert_match(/^TEST1$/, @out)
|
304
|
-
end
|
305
|
-
|
306
|
-
def test_dot_rake_files_can_be_loaded_with_dash_r
|
307
|
-
rakefile_rakelib
|
308
|
-
|
309
|
-
rake '-I', 'rakelib', '-rtest2', '-f'
|
310
|
-
|
311
|
-
assert_empty @err
|
312
|
-
assert_match(/^TEST2$/, @out)
|
313
|
-
end
|
314
|
-
|
315
|
-
def test_can_invoke_task_in_toplevel_namespace
|
316
|
-
rakefile_namespace
|
317
|
-
|
318
|
-
rake "copy"
|
319
|
-
|
320
|
-
assert_match(/^COPY$/, @out)
|
321
|
-
end
|
322
|
-
|
323
|
-
def test_can_invoke_task_in_nested_namespace
|
324
|
-
rakefile_namespace
|
325
|
-
|
326
|
-
rake "nest:copy"
|
327
|
-
|
328
|
-
assert_match(/^NEST COPY$/, @out)
|
329
|
-
end
|
330
|
-
|
331
|
-
def test_tasks_can_reference_task_in_same_namespace
|
332
|
-
rakefile_namespace
|
333
|
-
|
334
|
-
rake "nest:xx"
|
335
|
-
|
336
|
-
assert_match(/^NEST COPY$/m, @out)
|
337
|
-
end
|
338
|
-
|
339
|
-
def test_tasks_can_reference_task_in_other_namespaces
|
340
|
-
rakefile_namespace
|
341
|
-
|
342
|
-
rake "b:run"
|
343
|
-
|
344
|
-
assert_match(/^IN A\nIN B$/m, @out)
|
345
|
-
end
|
346
|
-
|
347
|
-
def test_anonymous_tasks_can_be_invoked_indirectly
|
348
|
-
rakefile_namespace
|
349
|
-
|
350
|
-
rake "anon"
|
351
|
-
|
352
|
-
assert_match(/^ANON COPY$/m, @out)
|
353
|
-
end
|
354
|
-
|
355
|
-
def test_rake_namespace_refers_to_toplevel
|
356
|
-
rakefile_namespace
|
357
|
-
|
358
|
-
rake "very:nested:run"
|
359
|
-
|
360
|
-
assert_match(/^COPY$/m, @out)
|
361
|
-
end
|
362
|
-
|
363
|
-
def test_file_task_are_not_scoped_by_namespaces
|
364
|
-
rakefile_namespace
|
365
|
-
|
366
|
-
rake "xyz.rb"
|
367
|
-
|
368
|
-
assert_match(/^XYZ1\nXYZ2$/m, @out)
|
369
|
-
end
|
370
|
-
|
371
|
-
def test_file_task_dependencies_scoped_by_namespaces
|
372
|
-
rakefile_namespace
|
373
|
-
|
374
|
-
rake "scopedep.rb"
|
375
|
-
|
376
|
-
assert_match(/^PREPARE\nSCOPEDEP$/m, @out)
|
377
|
-
end
|
378
|
-
|
379
|
-
def test_test_task_descriptions
|
380
|
-
rakefile_test_task
|
381
|
-
|
382
|
-
rake "-T"
|
383
|
-
|
384
|
-
assert_match(/custom test task description/, @out)
|
385
|
-
end
|
386
|
-
|
387
|
-
def test_comment_before_task_acts_like_desc
|
388
|
-
rakefile_comments
|
389
|
-
|
390
|
-
rake "-T"
|
391
|
-
|
392
|
-
refute_match(/comment for t1/, @out)
|
393
|
-
end
|
394
|
-
|
395
|
-
def test_comment_separated_from_task_by_blank_line_is_not_picked_up
|
396
|
-
rakefile_comments
|
397
|
-
|
398
|
-
rake "-T"
|
399
|
-
|
400
|
-
refute_match("t2", @out)
|
401
|
-
end
|
402
|
-
|
403
|
-
def test_comment_after_desc_is_ignored
|
404
|
-
rakefile_comments
|
405
|
-
|
406
|
-
rake "-T"
|
407
|
-
|
408
|
-
assert_match("override comment for t3", @out)
|
409
|
-
end
|
410
|
-
|
411
|
-
def test_comment_before_desc_is_ignored
|
412
|
-
rakefile_comments
|
413
|
-
|
414
|
-
rake "-T"
|
415
|
-
|
416
|
-
assert_match("override comment for t4", @out)
|
417
|
-
end
|
418
|
-
|
419
|
-
def test_correct_number_of_tasks_reported
|
420
|
-
rakefile_comments
|
421
|
-
|
422
|
-
rake "-T"
|
423
|
-
|
424
|
-
assert_equal(2, @out.split(/\n/).grep(/t\d/).size)
|
425
|
-
end
|
426
|
-
|
427
|
-
def test_file_list_is_requirable_separately
|
428
|
-
skip if jruby9? # https://github.com/jruby/jruby/issues/3655
|
429
|
-
|
430
|
-
ruby '-rrake/file_list', '-e', 'puts Rake::FileList["a"].size'
|
431
|
-
assert_equal "1\n", @out
|
432
|
-
end
|
433
|
-
|
434
|
-
def can_detect_signals?
|
435
|
-
system RUBY, '-e', 'Process.kill "TERM", $$'
|
436
|
-
status = $?
|
437
|
-
if @verbose
|
438
|
-
puts " SIG status = #{$?.inspect}"
|
439
|
-
puts " SIG status.respond_to?(:signaled?) = " +
|
440
|
-
"#{$?.respond_to?(:signaled?).inspect}"
|
441
|
-
puts " SIG status.signaled? = #{status.signaled?}" if
|
442
|
-
status.respond_to?(:signaled?)
|
443
|
-
end
|
444
|
-
status.respond_to?(:signaled?) && status.signaled?
|
445
|
-
end
|
446
|
-
|
447
|
-
def test_signal_propagation_in_tests
|
448
|
-
if !jruby? && can_detect_signals?
|
449
|
-
rakefile_test_signal
|
450
|
-
rake
|
451
|
-
assert_match(/ATEST/, @out)
|
452
|
-
refute_match(/BTEST/, @out)
|
453
|
-
else
|
454
|
-
skip "Signal detect seems broken on this system"
|
455
|
-
end
|
456
|
-
end
|
457
|
-
|
458
|
-
def test_failing_test_sets_exit_status
|
459
|
-
skip if uncertain_exit_status?
|
460
|
-
rakefile_failing_test_task
|
461
|
-
rake
|
462
|
-
assert @exit.exitstatus > 0, "should be non-zero"
|
463
|
-
end
|
464
|
-
|
465
|
-
def test_stand_alone_filelist
|
466
|
-
rakefile_stand_alone_filelist
|
467
|
-
|
468
|
-
run_ruby @ruby_options + ["stand_alone_filelist.rb"]
|
469
|
-
|
470
|
-
assert_match(/^stand_alone_filelist\.rb$/, @out)
|
471
|
-
assert_equal 0, @exit.exitstatus unless uncertain_exit_status?
|
472
|
-
end
|
473
|
-
|
474
|
-
private
|
475
|
-
|
476
|
-
# We are unable to accurately verify that Rake returns a proper
|
477
|
-
# error exit status using popen3 in Ruby 1.8.7 and JRuby. This
|
478
|
-
# predicate function can be used to skip tests or assertions as
|
479
|
-
# needed.
|
480
|
-
def uncertain_exit_status?
|
481
|
-
defined?(JRUBY_VERSION)
|
482
|
-
end
|
483
|
-
|
484
|
-
end
|