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
@@ -1,468 +0,0 @@
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
2
|
-
|
3
|
-
TESTING_REQUIRE = []
|
4
|
-
|
5
|
-
class TestRakeApplicationOptions < Rake::TestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
super
|
9
|
-
|
10
|
-
@testkey = ENV['TESTKEY']
|
11
|
-
clear_argv
|
12
|
-
Rake::FileUtilsExt.verbose_flag = false
|
13
|
-
Rake::FileUtilsExt.nowrite_flag = false
|
14
|
-
TESTING_REQUIRE.clear
|
15
|
-
end
|
16
|
-
|
17
|
-
def teardown
|
18
|
-
ENV['TESTKEY'] = @testkey
|
19
|
-
clear_argv
|
20
|
-
Rake::FileUtilsExt.verbose_flag = false
|
21
|
-
Rake::FileUtilsExt.nowrite_flag = false
|
22
|
-
|
23
|
-
super
|
24
|
-
end
|
25
|
-
|
26
|
-
def clear_argv
|
27
|
-
ARGV.pop until ARGV.empty?
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_default_options
|
31
|
-
opts = command_line
|
32
|
-
assert_nil opts.backtrace
|
33
|
-
assert_nil opts.dryrun
|
34
|
-
assert_nil opts.ignore_system
|
35
|
-
assert_nil opts.load_system
|
36
|
-
assert_nil opts.always_multitask
|
37
|
-
assert_nil opts.nosearch
|
38
|
-
assert_equal ['rakelib'], opts.rakelib
|
39
|
-
assert_nil opts.show_prereqs
|
40
|
-
assert_nil opts.show_task_pattern
|
41
|
-
assert_nil opts.show_tasks
|
42
|
-
assert_nil opts.silent
|
43
|
-
assert_nil opts.trace
|
44
|
-
assert_nil opts.thread_pool_size
|
45
|
-
assert_equal ['rakelib'], opts.rakelib
|
46
|
-
assert ! Rake::FileUtilsExt.verbose_flag
|
47
|
-
assert ! Rake::FileUtilsExt.nowrite_flag
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_dry_run
|
51
|
-
flags('--dry-run', '-n') do |opts|
|
52
|
-
assert opts.dryrun
|
53
|
-
assert opts.trace
|
54
|
-
assert Rake::FileUtilsExt.verbose_flag
|
55
|
-
assert Rake::FileUtilsExt.nowrite_flag
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_describe
|
60
|
-
flags('--describe') do |opts|
|
61
|
-
assert_equal :describe, opts.show_tasks
|
62
|
-
assert_equal(//.to_s, opts.show_task_pattern.to_s)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_describe_with_pattern
|
67
|
-
flags('--describe=X') do |opts|
|
68
|
-
assert_equal :describe, opts.show_tasks
|
69
|
-
assert_equal(/X/.to_s, opts.show_task_pattern.to_s)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_execute
|
74
|
-
$xyzzy = 0
|
75
|
-
flags('--execute=$xyzzy=1', '-e $xyzzy=1') do |opts|
|
76
|
-
assert_equal 1, $xyzzy
|
77
|
-
assert_equal :exit, @exit
|
78
|
-
$xyzzy = 0
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def test_execute_and_continue
|
83
|
-
$xyzzy = 0
|
84
|
-
flags('--execute-continue=$xyzzy=1', '-E $xyzzy=1') do |opts|
|
85
|
-
assert_equal 1, $xyzzy
|
86
|
-
refute_equal :exit, @exit
|
87
|
-
$xyzzy = 0
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
def test_execute_and_print
|
92
|
-
$xyzzy = 0
|
93
|
-
out, = capture_io do
|
94
|
-
flags('--execute-print=$xyzzy="pugh"', '-p $xyzzy="pugh"') do |opts|
|
95
|
-
assert_equal 'pugh', $xyzzy
|
96
|
-
assert_equal :exit, @exit
|
97
|
-
$xyzzy = 0
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
assert_match(/^pugh$/, out)
|
102
|
-
end
|
103
|
-
|
104
|
-
def test_help
|
105
|
-
out, = capture_io do
|
106
|
-
flags '--help', '-H', '-h'
|
107
|
-
end
|
108
|
-
|
109
|
-
assert_match(/\Arake/, out)
|
110
|
-
assert_match(/\boptions\b/, out)
|
111
|
-
assert_match(/\btargets\b/, out)
|
112
|
-
assert_equal :exit, @exit
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_jobs
|
116
|
-
flags([]) do |opts|
|
117
|
-
assert_nil opts.thread_pool_size
|
118
|
-
end
|
119
|
-
flags(['--jobs', '0'], ['-j', '0']) do |opts|
|
120
|
-
assert_equal 0, opts.thread_pool_size
|
121
|
-
end
|
122
|
-
flags(['--jobs', '1'], ['-j', '1']) do |opts|
|
123
|
-
assert_equal 0, opts.thread_pool_size
|
124
|
-
end
|
125
|
-
flags(['--jobs', '4'], ['-j', '4']) do |opts|
|
126
|
-
assert_equal 3, opts.thread_pool_size
|
127
|
-
end
|
128
|
-
flags(['--jobs', 'asdas'], ['-j', 'asdas']) do |opts|
|
129
|
-
assert_equal Rake.suggested_thread_count-1, opts.thread_pool_size
|
130
|
-
end
|
131
|
-
flags('--jobs', '-j') do |opts|
|
132
|
-
assert opts.thread_pool_size > 1_000_000, "thread pool size should be huge (was #{opts.thread_pool_size})"
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
def test_libdir
|
137
|
-
flags(['--libdir', 'xx'], ['-I', 'xx'], ['-Ixx']) do |opts|
|
138
|
-
$:.include?('xx')
|
139
|
-
end
|
140
|
-
ensure
|
141
|
-
$:.delete('xx')
|
142
|
-
end
|
143
|
-
|
144
|
-
def test_multitask
|
145
|
-
flags('--multitask', '-m') do |opts|
|
146
|
-
assert_equal opts.always_multitask, true
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
def test_rakefile
|
151
|
-
flags(['--rakefile', 'RF'], ['--rakefile=RF'], ['-f', 'RF'], ['-fRF']) do |opts|
|
152
|
-
assert_equal ['RF'], @app.instance_eval { @rakefiles }
|
153
|
-
end
|
154
|
-
end
|
155
|
-
|
156
|
-
def test_rakelib
|
157
|
-
dirs = %w(A B C).join(File::PATH_SEPARATOR)
|
158
|
-
flags(
|
159
|
-
['--rakelibdir', dirs],
|
160
|
-
["--rakelibdir=#{dirs}"],
|
161
|
-
['-R', dirs],
|
162
|
-
["-R#{dirs}"]) do |opts|
|
163
|
-
assert_equal ['A', 'B', 'C'], opts.rakelib
|
164
|
-
end
|
165
|
-
end
|
166
|
-
|
167
|
-
def test_require
|
168
|
-
$LOAD_PATH.unshift @tempdir
|
169
|
-
|
170
|
-
open 'reqfile.rb', 'w' do |io| io << 'TESTING_REQUIRE << 1' end
|
171
|
-
open 'reqfile2.rb', 'w' do |io| io << 'TESTING_REQUIRE << 2' end
|
172
|
-
open 'reqfile3.rake', 'w' do |io| io << 'TESTING_REQUIRE << 3' end
|
173
|
-
|
174
|
-
flags(['--require', 'reqfile'], '-rreqfile2', '-rreqfile3')
|
175
|
-
|
176
|
-
assert_includes TESTING_REQUIRE, 1
|
177
|
-
assert_includes TESTING_REQUIRE, 2
|
178
|
-
assert_includes TESTING_REQUIRE, 3
|
179
|
-
|
180
|
-
assert_equal 3, TESTING_REQUIRE.size
|
181
|
-
ensure
|
182
|
-
$LOAD_PATH.delete @tempdir
|
183
|
-
end
|
184
|
-
|
185
|
-
def test_missing_require
|
186
|
-
ex = assert_raises(LoadError) do
|
187
|
-
flags(['--require', 'test/missing']) do |opts|
|
188
|
-
end
|
189
|
-
end
|
190
|
-
assert_match(/such file/, ex.message)
|
191
|
-
assert_match(/test\/missing/, ex.message)
|
192
|
-
end
|
193
|
-
|
194
|
-
def test_prereqs
|
195
|
-
flags('--prereqs', '-P') do |opts|
|
196
|
-
assert opts.show_prereqs
|
197
|
-
end
|
198
|
-
end
|
199
|
-
|
200
|
-
def test_quiet
|
201
|
-
Rake::FileUtilsExt.verbose_flag = true
|
202
|
-
flags('--quiet', '-q') do |opts|
|
203
|
-
assert ! Rake::FileUtilsExt.verbose_flag, "verbose flag should be false"
|
204
|
-
assert ! opts.silent, "should not be silent"
|
205
|
-
end
|
206
|
-
end
|
207
|
-
|
208
|
-
def test_no_search
|
209
|
-
flags('--nosearch', '--no-search', '-N') do |opts|
|
210
|
-
assert opts.nosearch
|
211
|
-
end
|
212
|
-
end
|
213
|
-
|
214
|
-
def test_silent
|
215
|
-
Rake::FileUtilsExt.verbose_flag = true
|
216
|
-
flags('--silent', '-s') do |opts|
|
217
|
-
assert ! Rake::FileUtilsExt.verbose_flag, "verbose flag should be false"
|
218
|
-
assert opts.silent, "should be silent"
|
219
|
-
end
|
220
|
-
end
|
221
|
-
|
222
|
-
def test_system
|
223
|
-
flags('--system', '-g') do |opts|
|
224
|
-
assert opts.load_system
|
225
|
-
end
|
226
|
-
end
|
227
|
-
|
228
|
-
def test_no_system
|
229
|
-
flags('--no-system', '-G') do |opts|
|
230
|
-
assert opts.ignore_system
|
231
|
-
end
|
232
|
-
end
|
233
|
-
|
234
|
-
def test_trace
|
235
|
-
flags('--trace', '-t') do |opts|
|
236
|
-
assert opts.trace, "should enable trace option"
|
237
|
-
assert opts.backtrace, "should enabled backtrace option"
|
238
|
-
assert_equal $stderr, opts.trace_output
|
239
|
-
assert Rake::FileUtilsExt.verbose_flag
|
240
|
-
assert ! Rake::FileUtilsExt.nowrite_flag
|
241
|
-
end
|
242
|
-
end
|
243
|
-
|
244
|
-
def test_trace_with_stdout
|
245
|
-
flags('--trace=stdout', '-tstdout') do |opts|
|
246
|
-
assert opts.trace, "should enable trace option"
|
247
|
-
assert opts.backtrace, "should enabled backtrace option"
|
248
|
-
assert_equal $stdout, opts.trace_output
|
249
|
-
assert Rake::FileUtilsExt.verbose_flag
|
250
|
-
assert ! Rake::FileUtilsExt.nowrite_flag
|
251
|
-
end
|
252
|
-
end
|
253
|
-
|
254
|
-
def test_trace_with_stderr
|
255
|
-
flags('--trace=stderr', '-tstderr') do |opts|
|
256
|
-
assert opts.trace, "should enable trace option"
|
257
|
-
assert opts.backtrace, "should enabled backtrace option"
|
258
|
-
assert_equal $stderr, opts.trace_output
|
259
|
-
assert Rake::FileUtilsExt.verbose_flag
|
260
|
-
assert ! Rake::FileUtilsExt.nowrite_flag
|
261
|
-
end
|
262
|
-
end
|
263
|
-
|
264
|
-
def test_trace_with_error
|
265
|
-
ex = assert_raises(Rake::CommandLineOptionError) do
|
266
|
-
flags('--trace=xyzzy') do |opts| end
|
267
|
-
end
|
268
|
-
assert_match(/un(known|recognized).*\btrace\b.*xyzzy/i, ex.message)
|
269
|
-
end
|
270
|
-
|
271
|
-
def test_trace_with_following_task_name
|
272
|
-
flags(['--trace', 'taskname'], ['-t', 'taskname']) do |opts|
|
273
|
-
assert opts.trace, "should enable trace option"
|
274
|
-
assert opts.backtrace, "should enabled backtrace option"
|
275
|
-
assert_equal $stderr, opts.trace_output
|
276
|
-
assert Rake::FileUtilsExt.verbose_flag
|
277
|
-
assert_equal ['taskname'], @app.top_level_tasks
|
278
|
-
end
|
279
|
-
end
|
280
|
-
|
281
|
-
def test_backtrace
|
282
|
-
flags('--backtrace') do |opts|
|
283
|
-
assert opts.backtrace, "should enable backtrace option"
|
284
|
-
assert_equal $stderr, opts.trace_output
|
285
|
-
assert ! opts.trace, "should not enable trace option"
|
286
|
-
end
|
287
|
-
end
|
288
|
-
|
289
|
-
def test_backtrace_with_stdout
|
290
|
-
flags('--backtrace=stdout') do |opts|
|
291
|
-
assert opts.backtrace, "should enable backtrace option"
|
292
|
-
assert_equal $stdout, opts.trace_output
|
293
|
-
assert ! opts.trace, "should not enable trace option"
|
294
|
-
end
|
295
|
-
end
|
296
|
-
|
297
|
-
def test_backtrace_with_stderr
|
298
|
-
flags('--backtrace=stderr') do |opts|
|
299
|
-
assert opts.backtrace, "should enable backtrace option"
|
300
|
-
assert_equal $stderr, opts.trace_output
|
301
|
-
assert ! opts.trace, "should not enable trace option"
|
302
|
-
end
|
303
|
-
end
|
304
|
-
|
305
|
-
def test_backtrace_with_error
|
306
|
-
ex = assert_raises(Rake::CommandLineOptionError) do
|
307
|
-
flags('--backtrace=xyzzy') do |opts| end
|
308
|
-
end
|
309
|
-
assert_match(/un(known|recognized).*\bbacktrace\b.*xyzzy/i, ex.message)
|
310
|
-
end
|
311
|
-
|
312
|
-
def test_backtrace_with_following_task_name
|
313
|
-
flags(['--backtrace', 'taskname']) do |opts|
|
314
|
-
assert ! opts.trace, "should enable trace option"
|
315
|
-
assert opts.backtrace, "should enabled backtrace option"
|
316
|
-
assert_equal $stderr, opts.trace_output
|
317
|
-
assert_equal ['taskname'], @app.top_level_tasks
|
318
|
-
end
|
319
|
-
end
|
320
|
-
|
321
|
-
def test_trace_rules
|
322
|
-
flags('--rules') do |opts|
|
323
|
-
assert opts.trace_rules
|
324
|
-
end
|
325
|
-
end
|
326
|
-
|
327
|
-
def test_tasks
|
328
|
-
flags('--tasks', '-T') do |opts|
|
329
|
-
assert_equal :tasks, opts.show_tasks
|
330
|
-
assert_equal(//.to_s, opts.show_task_pattern.to_s)
|
331
|
-
assert_equal nil, opts.show_all_tasks
|
332
|
-
end
|
333
|
-
flags(['--tasks', 'xyz'], ['-Txyz']) do |opts|
|
334
|
-
assert_equal :tasks, opts.show_tasks
|
335
|
-
assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
|
336
|
-
assert_equal nil, opts.show_all_tasks
|
337
|
-
end
|
338
|
-
flags(['--tasks', 'xyz', '--comments']) do |opts|
|
339
|
-
assert_equal :tasks, opts.show_tasks
|
340
|
-
assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
|
341
|
-
assert_equal false, opts.show_all_tasks
|
342
|
-
end
|
343
|
-
end
|
344
|
-
|
345
|
-
def test_where
|
346
|
-
flags('--where', '-W') do |opts|
|
347
|
-
assert_equal :lines, opts.show_tasks
|
348
|
-
assert_equal(//.to_s, opts.show_task_pattern.to_s)
|
349
|
-
assert_equal true, opts.show_all_tasks
|
350
|
-
end
|
351
|
-
flags(['--where', 'xyz'], ['-Wxyz']) do |opts|
|
352
|
-
assert_equal :lines, opts.show_tasks
|
353
|
-
assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
|
354
|
-
assert_equal true, opts.show_all_tasks
|
355
|
-
end
|
356
|
-
flags(['--where', 'xyz', '--comments'], ['-Wxyz', '--comments']) do |opts|
|
357
|
-
assert_equal :lines, opts.show_tasks
|
358
|
-
assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
|
359
|
-
assert_equal false, opts.show_all_tasks
|
360
|
-
end
|
361
|
-
end
|
362
|
-
|
363
|
-
def test_no_deprecated_messages
|
364
|
-
flags('--no-deprecation-warnings', '-X') do |opts|
|
365
|
-
assert opts.ignore_deprecate
|
366
|
-
end
|
367
|
-
end
|
368
|
-
|
369
|
-
def test_verbose
|
370
|
-
capture_io do
|
371
|
-
flags('--verbose', '-v') do |opts|
|
372
|
-
assert Rake::FileUtilsExt.verbose_flag, "verbose should be true"
|
373
|
-
assert ! opts.silent, "opts should not be silent"
|
374
|
-
end
|
375
|
-
end
|
376
|
-
end
|
377
|
-
|
378
|
-
def test_version
|
379
|
-
out, _ = capture_io do
|
380
|
-
flags '--version', '-V'
|
381
|
-
end
|
382
|
-
|
383
|
-
assert_match(/\bversion\b/, out)
|
384
|
-
assert_match(/\b#{Rake::VERSION}\b/, out)
|
385
|
-
assert_equal :exit, @exit
|
386
|
-
end
|
387
|
-
|
388
|
-
def test_bad_option
|
389
|
-
_, err = capture_io do
|
390
|
-
ex = assert_raises(OptionParser::InvalidOption) do
|
391
|
-
flags('--bad-option')
|
392
|
-
end
|
393
|
-
|
394
|
-
if ex.message =~ /^While/ # Ruby 1.9 error message
|
395
|
-
assert_match(/while parsing/i, ex.message)
|
396
|
-
else # Ruby 1.8 error message
|
397
|
-
assert_match(/(invalid|unrecognized) option/i, ex.message)
|
398
|
-
assert_match(/--bad-option/, ex.message)
|
399
|
-
end
|
400
|
-
end
|
401
|
-
|
402
|
-
assert_equal '', err
|
403
|
-
end
|
404
|
-
|
405
|
-
def test_task_collection
|
406
|
-
command_line("a", "b")
|
407
|
-
assert_equal ["a", "b"], @tasks.sort
|
408
|
-
end
|
409
|
-
|
410
|
-
def test_default_task_collection
|
411
|
-
command_line()
|
412
|
-
assert_equal ["default"], @tasks
|
413
|
-
end
|
414
|
-
|
415
|
-
def test_environment_definition
|
416
|
-
ENV.delete('TESTKEY')
|
417
|
-
command_line("TESTKEY=12")
|
418
|
-
assert_equal '12', ENV['TESTKEY']
|
419
|
-
end
|
420
|
-
|
421
|
-
def test_multiline_environment_definition
|
422
|
-
ENV.delete('TESTKEY')
|
423
|
-
command_line("TESTKEY=a\nb\n")
|
424
|
-
assert_equal "a\nb\n", ENV['TESTKEY']
|
425
|
-
end
|
426
|
-
|
427
|
-
def test_environment_and_tasks_together
|
428
|
-
ENV.delete('TESTKEY')
|
429
|
-
command_line("a", "b", "TESTKEY=12")
|
430
|
-
assert_equal ["a", "b"], @tasks.sort
|
431
|
-
assert_equal '12', ENV['TESTKEY']
|
432
|
-
end
|
433
|
-
|
434
|
-
def test_rake_explicit_task_library
|
435
|
-
Rake.add_rakelib 'app/task', 'other'
|
436
|
-
|
437
|
-
libs = Rake.application.options.rakelib
|
438
|
-
|
439
|
-
assert libs.include?("app/task")
|
440
|
-
assert libs.include?("other")
|
441
|
-
end
|
442
|
-
|
443
|
-
private
|
444
|
-
|
445
|
-
def flags(*sets)
|
446
|
-
sets.each do |set|
|
447
|
-
ARGV.clear
|
448
|
-
|
449
|
-
@exit = catch(:system_exit) { command_line(*set) }
|
450
|
-
|
451
|
-
yield(@app.options) if block_given?
|
452
|
-
end
|
453
|
-
end
|
454
|
-
|
455
|
-
def command_line(*options)
|
456
|
-
options.each do |opt| ARGV << opt end
|
457
|
-
@app = Rake::Application.new
|
458
|
-
def @app.exit(*args)
|
459
|
-
throw :system_exit, :exit
|
460
|
-
end
|
461
|
-
@app.instance_eval do
|
462
|
-
args = handle_options
|
463
|
-
collect_command_line_tasks(args)
|
464
|
-
end
|
465
|
-
@tasks = @app.top_level_tasks
|
466
|
-
@app.options
|
467
|
-
end
|
468
|
-
end
|