rake 0.9.2.2 → 13.0.6
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.
- checksums.yaml +7 -0
- data/History.rdoc +2403 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +64 -106
- data/doc/command_line_usage.rdoc +65 -21
- data/doc/glossary.rdoc +40 -49
- data/doc/jamis.rb +1 -0
- data/doc/rake.1 +156 -0
- data/doc/rakefile.rdoc +127 -62
- data/{bin → exe}/rake +1 -7
- data/lib/rake/application.rb +507 -271
- data/lib/rake/backtrace.rb +24 -0
- data/lib/rake/clean.rb +54 -8
- data/lib/rake/cloneable.rb +11 -19
- data/lib/rake/cpu_counter.rb +107 -0
- data/lib/rake/default_loader.rb +5 -0
- data/lib/rake/dsl_definition.rb +67 -48
- data/lib/rake/early_time.rb +5 -1
- data/lib/rake/ext/core.rb +5 -6
- data/lib/rake/ext/string.rb +61 -52
- data/lib/rake/file_creation_task.rb +4 -3
- data/lib/rake/file_list.rb +81 -49
- data/lib/rake/file_task.rb +15 -8
- data/lib/rake/file_utils.rb +63 -43
- data/lib/rake/file_utils_ext.rb +14 -25
- data/lib/rake/invocation_chain.rb +25 -19
- data/lib/rake/invocation_exception_mixin.rb +1 -0
- data/lib/rake/late_time.rb +18 -0
- data/lib/rake/linked_list.rb +112 -0
- data/lib/rake/loaders/makefile.rb +23 -9
- data/lib/rake/multi_task.rb +4 -6
- data/lib/rake/name_space.rb +36 -23
- data/lib/rake/packagetask.rb +71 -34
- data/lib/rake/phony.rb +16 -0
- data/lib/rake/private_reader.rb +21 -0
- data/lib/rake/promise.rb +100 -0
- data/lib/rake/pseudo_status.rb +8 -2
- data/lib/rake/rake_module.rb +41 -3
- data/lib/rake/rake_test_loader.rb +9 -4
- data/lib/rake/rule_recursion_overflow_error.rb +2 -2
- data/lib/rake/scope.rb +43 -0
- data/lib/rake/task.rb +186 -79
- data/lib/rake/task_argument_error.rb +1 -0
- data/lib/rake/task_arguments.rb +46 -15
- data/lib/rake/task_manager.rb +91 -67
- data/lib/rake/tasklib.rb +2 -12
- data/lib/rake/testtask.rb +61 -63
- data/lib/rake/thread_history_display.rb +49 -0
- data/lib/rake/thread_pool.rb +163 -0
- data/lib/rake/trace_output.rb +23 -0
- data/lib/rake/version.rb +5 -3
- data/lib/rake/win32.rb +14 -18
- data/lib/rake.rb +35 -33
- data/rake.gemspec +100 -0
- metadata +74 -176
- data/.gemtest +0 -0
- data/CHANGES +0 -522
- data/Rakefile +0 -369
- data/TODO +0 -20
- data/doc/rake.1.gz +0 -0
- data/doc/release_notes/rake-0.4.14.rdoc +0 -23
- data/doc/release_notes/rake-0.4.15.rdoc +0 -35
- data/doc/release_notes/rake-0.5.0.rdoc +0 -53
- data/doc/release_notes/rake-0.5.3.rdoc +0 -78
- data/doc/release_notes/rake-0.5.4.rdoc +0 -46
- data/doc/release_notes/rake-0.6.0.rdoc +0 -141
- data/doc/release_notes/rake-0.7.0.rdoc +0 -119
- data/doc/release_notes/rake-0.7.1.rdoc +0 -59
- data/doc/release_notes/rake-0.7.2.rdoc +0 -121
- data/doc/release_notes/rake-0.7.3.rdoc +0 -47
- data/doc/release_notes/rake-0.8.0.rdoc +0 -114
- data/doc/release_notes/rake-0.8.2.rdoc +0 -165
- data/doc/release_notes/rake-0.8.3.rdoc +0 -112
- data/doc/release_notes/rake-0.8.4.rdoc +0 -147
- data/doc/release_notes/rake-0.8.5.rdoc +0 -53
- data/doc/release_notes/rake-0.8.6.rdoc +0 -55
- data/doc/release_notes/rake-0.8.7.rdoc +0 -55
- data/doc/release_notes/rake-0.9.0.rdoc +0 -112
- data/doc/release_notes/rake-0.9.1.rdoc +0 -52
- data/doc/release_notes/rake-0.9.2.rdoc +0 -49
- data/install.rb +0 -90
- data/lib/rake/alt_system.rb +0 -109
- data/lib/rake/classic_namespace.rb +0 -11
- data/lib/rake/contrib/compositepublisher.rb +0 -21
- data/lib/rake/contrib/ftptools.rb +0 -150
- data/lib/rake/contrib/publisher.rb +0 -73
- data/lib/rake/contrib/rubyforgepublisher.rb +0 -16
- data/lib/rake/contrib/sshpublisher.rb +0 -50
- data/lib/rake/contrib/sys.rb +0 -191
- data/lib/rake/ext/module.rb +0 -39
- data/lib/rake/ext/time.rb +0 -14
- data/lib/rake/gempackagetask.rb +0 -15
- data/lib/rake/pathmap.rb +0 -1
- data/lib/rake/rdoctask.rb +0 -234
- data/lib/rake/ruby182_test_unit_fix.rb +0 -25
- data/lib/rake/runtest.rb +0 -21
- data/test/file_creation.rb +0 -34
- data/test/helper.rb +0 -492
- data/test/test_rake.rb +0 -40
- data/test/test_rake_application.rb +0 -489
- data/test/test_rake_application_options.rb +0 -335
- data/test/test_rake_clean.rb +0 -14
- data/test/test_rake_definitions.rb +0 -80
- data/test/test_rake_directory_task.rb +0 -46
- data/test/test_rake_dsl.rb +0 -77
- 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 -628
- data/test/test_rake_file_list_path_map.rb +0 -8
- data/test/test_rake_file_task.rb +0 -102
- data/test/test_rake_file_utils.rb +0 -305
- data/test/test_rake_ftp_file.rb +0 -59
- data/test/test_rake_functional.rb +0 -450
- data/test/test_rake_invocation_chain.rb +0 -52
- data/test/test_rake_makefile_loader.rb +0 -44
- data/test/test_rake_multi_task.rb +0 -51
- data/test/test_rake_name_space.rb +0 -43
- data/test/test_rake_package_task.rb +0 -79
- data/test/test_rake_path_map.rb +0 -157
- data/test/test_rake_path_map_explode.rb +0 -34
- data/test/test_rake_path_map_partial.rb +0 -18
- data/test/test_rake_pseudo_status.rb +0 -21
- data/test/test_rake_rake_test_loader.rb +0 -21
- data/test/test_rake_rdoc_task.rb +0 -83
- data/test/test_rake_require.rb +0 -40
- data/test/test_rake_rules.rb +0 -327
- data/test/test_rake_task.rb +0 -267
- data/test/test_rake_task_argument_parsing.rb +0 -103
- data/test/test_rake_task_arguments.rb +0 -88
- data/test/test_rake_task_lib.rb +0 -9
- data/test/test_rake_task_manager.rb +0 -157
- data/test/test_rake_task_manager_argument_resolution.rb +0 -36
- data/test/test_rake_task_with_arguments.rb +0 -173
- data/test/test_rake_test_task.rb +0 -120
- data/test/test_rake_top_level_functions.rb +0 -111
- data/test/test_rake_win32.rb +0 -72
- data/test/test_sys.rb +0 -20
|
@@ -1,335 +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
|
-
clear_argv
|
|
11
|
-
Rake::FileUtilsExt.verbose_flag = false
|
|
12
|
-
Rake::FileUtilsExt.nowrite_flag = false
|
|
13
|
-
TESTING_REQUIRE.clear
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def teardown
|
|
17
|
-
clear_argv
|
|
18
|
-
Rake::FileUtilsExt.verbose_flag = false
|
|
19
|
-
Rake::FileUtilsExt.nowrite_flag = false
|
|
20
|
-
|
|
21
|
-
super
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def clear_argv
|
|
25
|
-
while ! ARGV.empty?
|
|
26
|
-
ARGV.pop
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def test_default_options
|
|
31
|
-
opts = command_line
|
|
32
|
-
assert_nil opts.classic_namespace
|
|
33
|
-
assert_nil opts.dryrun
|
|
34
|
-
assert_nil opts.ignore_system
|
|
35
|
-
assert_nil opts.load_system
|
|
36
|
-
assert_nil opts.nosearch
|
|
37
|
-
assert_equal ['rakelib'], opts.rakelib
|
|
38
|
-
assert_nil opts.show_prereqs
|
|
39
|
-
assert_nil opts.show_task_pattern
|
|
40
|
-
assert_nil opts.show_tasks
|
|
41
|
-
assert_nil opts.silent
|
|
42
|
-
assert_nil opts.trace
|
|
43
|
-
assert_equal ['rakelib'], opts.rakelib
|
|
44
|
-
assert ! Rake::FileUtilsExt.verbose_flag
|
|
45
|
-
assert ! Rake::FileUtilsExt.nowrite_flag
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def test_dry_run
|
|
49
|
-
flags('--dry-run', '-n') do |opts|
|
|
50
|
-
assert opts.dryrun
|
|
51
|
-
assert opts.trace
|
|
52
|
-
assert Rake::FileUtilsExt.verbose_flag
|
|
53
|
-
assert Rake::FileUtilsExt.nowrite_flag
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def test_describe
|
|
58
|
-
flags('--describe') do |opts|
|
|
59
|
-
assert_equal :describe, opts.show_tasks
|
|
60
|
-
assert_equal(//.to_s, opts.show_task_pattern.to_s)
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def test_describe_with_pattern
|
|
65
|
-
flags('--describe=X') do |opts|
|
|
66
|
-
assert_equal :describe, opts.show_tasks
|
|
67
|
-
assert_equal(/X/.to_s, opts.show_task_pattern.to_s)
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def test_execute
|
|
72
|
-
$xyzzy = 0
|
|
73
|
-
flags('--execute=$xyzzy=1', '-e $xyzzy=1') do |opts|
|
|
74
|
-
assert_equal 1, $xyzzy
|
|
75
|
-
assert_equal :exit, @exit
|
|
76
|
-
$xyzzy = 0
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
def test_execute_and_continue
|
|
81
|
-
$xyzzy = 0
|
|
82
|
-
flags('--execute-continue=$xyzzy=1', '-E $xyzzy=1') do |opts|
|
|
83
|
-
assert_equal 1, $xyzzy
|
|
84
|
-
refute_equal :exit, @exit
|
|
85
|
-
$xyzzy = 0
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
def test_execute_and_print
|
|
90
|
-
$xyzzy = 0
|
|
91
|
-
out, = capture_io do
|
|
92
|
-
flags('--execute-print=$xyzzy="pugh"', '-p $xyzzy="pugh"') do |opts|
|
|
93
|
-
assert_equal 'pugh', $xyzzy
|
|
94
|
-
assert_equal :exit, @exit
|
|
95
|
-
$xyzzy = 0
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
assert_match(/^pugh$/, out)
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
def test_help
|
|
103
|
-
out, = capture_io do
|
|
104
|
-
flags '--help', '-H', '-h'
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
assert_match(/\Arake/, out)
|
|
108
|
-
assert_match(/\boptions\b/, out)
|
|
109
|
-
assert_match(/\btargets\b/, out)
|
|
110
|
-
assert_equal :exit, @exit
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
def test_libdir
|
|
114
|
-
flags(['--libdir', 'xx'], ['-I', 'xx'], ['-Ixx']) do |opts|
|
|
115
|
-
$:.include?('xx')
|
|
116
|
-
end
|
|
117
|
-
ensure
|
|
118
|
-
$:.delete('xx')
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
def test_rakefile
|
|
122
|
-
flags(['--rakefile', 'RF'], ['--rakefile=RF'], ['-f', 'RF'], ['-fRF']) do |opts|
|
|
123
|
-
assert_equal ['RF'], @app.instance_eval { @rakefiles }
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
def test_rakelib
|
|
128
|
-
flags(['--rakelibdir', 'A:B:C'], ['--rakelibdir=A:B:C'], ['-R', 'A:B:C'], ['-RA:B:C']) do |opts|
|
|
129
|
-
assert_equal ['A', 'B', 'C'], opts.rakelib
|
|
130
|
-
end
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def test_require
|
|
134
|
-
$LOAD_PATH.unshift @tempdir
|
|
135
|
-
|
|
136
|
-
open 'reqfile.rb', 'w' do |io| io << 'TESTING_REQUIRE << 1' end
|
|
137
|
-
open 'reqfile2.rb', 'w' do |io| io << 'TESTING_REQUIRE << 2' end
|
|
138
|
-
open 'reqfile3.rake', 'w' do |io| io << 'TESTING_REQUIRE << 3' end
|
|
139
|
-
|
|
140
|
-
flags(['--require', 'reqfile'], '-rreqfile2', '-rreqfile3')
|
|
141
|
-
|
|
142
|
-
assert_includes TESTING_REQUIRE, 1
|
|
143
|
-
assert_includes TESTING_REQUIRE, 2
|
|
144
|
-
assert_includes TESTING_REQUIRE, 3
|
|
145
|
-
|
|
146
|
-
assert_equal 3, TESTING_REQUIRE.size
|
|
147
|
-
ensure
|
|
148
|
-
$LOAD_PATH.delete @tempdir
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
def test_missing_require
|
|
152
|
-
ex = assert_raises(LoadError) do
|
|
153
|
-
flags(['--require', 'test/missing']) do |opts|
|
|
154
|
-
end
|
|
155
|
-
end
|
|
156
|
-
assert_match(/such file/, ex.message)
|
|
157
|
-
assert_match(/test\/missing/, ex.message)
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
def test_prereqs
|
|
161
|
-
flags('--prereqs', '-P') do |opts|
|
|
162
|
-
assert opts.show_prereqs
|
|
163
|
-
end
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
def test_quiet
|
|
167
|
-
flags('--quiet', '-q') do |opts|
|
|
168
|
-
assert ! Rake::FileUtilsExt.verbose_flag
|
|
169
|
-
assert ! opts.silent
|
|
170
|
-
end
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
def test_no_search
|
|
174
|
-
flags('--nosearch', '--no-search', '-N') do |opts|
|
|
175
|
-
assert opts.nosearch
|
|
176
|
-
end
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
def test_silent
|
|
180
|
-
flags('--silent', '-s') do |opts|
|
|
181
|
-
assert ! Rake::FileUtilsExt.verbose_flag
|
|
182
|
-
assert opts.silent
|
|
183
|
-
end
|
|
184
|
-
end
|
|
185
|
-
|
|
186
|
-
def test_system
|
|
187
|
-
flags('--system', '-g') do |opts|
|
|
188
|
-
assert opts.load_system
|
|
189
|
-
end
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
def test_no_system
|
|
193
|
-
flags('--no-system', '-G') do |opts|
|
|
194
|
-
assert opts.ignore_system
|
|
195
|
-
end
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
def test_trace
|
|
199
|
-
flags('--trace', '-t') do |opts|
|
|
200
|
-
assert opts.trace
|
|
201
|
-
assert Rake::FileUtilsExt.verbose_flag
|
|
202
|
-
assert ! Rake::FileUtilsExt.nowrite_flag
|
|
203
|
-
end
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
def test_trace_rules
|
|
207
|
-
flags('--rules') do |opts|
|
|
208
|
-
assert opts.trace_rules
|
|
209
|
-
end
|
|
210
|
-
end
|
|
211
|
-
|
|
212
|
-
def test_tasks
|
|
213
|
-
flags('--tasks', '-T') do |opts|
|
|
214
|
-
assert_equal :tasks, opts.show_tasks
|
|
215
|
-
assert_equal(//.to_s, opts.show_task_pattern.to_s)
|
|
216
|
-
end
|
|
217
|
-
flags(['--tasks', 'xyz'], ['-Txyz']) do |opts|
|
|
218
|
-
assert_equal :tasks, opts.show_tasks
|
|
219
|
-
assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
|
|
220
|
-
end
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
def test_where
|
|
224
|
-
flags('--where', '-W') do |opts|
|
|
225
|
-
assert_equal :lines, opts.show_tasks
|
|
226
|
-
assert_equal(//.to_s, opts.show_task_pattern.to_s)
|
|
227
|
-
end
|
|
228
|
-
flags(['--where', 'xyz'], ['-Wxyz']) do |opts|
|
|
229
|
-
assert_equal :lines, opts.show_tasks
|
|
230
|
-
assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
|
|
231
|
-
end
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
def test_no_deprecated_messages
|
|
235
|
-
flags('--no-deprecation-warnings', '-X') do |opts|
|
|
236
|
-
assert opts.ignore_deprecate
|
|
237
|
-
end
|
|
238
|
-
end
|
|
239
|
-
|
|
240
|
-
def test_verbose
|
|
241
|
-
out, = capture_io do
|
|
242
|
-
flags('--verbose', '-V') do |opts|
|
|
243
|
-
assert Rake::FileUtilsExt.verbose_flag
|
|
244
|
-
assert ! opts.silent
|
|
245
|
-
end
|
|
246
|
-
end
|
|
247
|
-
|
|
248
|
-
assert_equal "rake, version #{Rake::VERSION}\n", out
|
|
249
|
-
end
|
|
250
|
-
|
|
251
|
-
def test_version
|
|
252
|
-
out, = capture_io do
|
|
253
|
-
flags '--version', '-V'
|
|
254
|
-
end
|
|
255
|
-
|
|
256
|
-
assert_match(/\bversion\b/, out)
|
|
257
|
-
assert_match(/\b#{RAKEVERSION}\b/, out)
|
|
258
|
-
assert_equal :exit, @exit
|
|
259
|
-
end
|
|
260
|
-
|
|
261
|
-
def test_classic_namespace
|
|
262
|
-
_, err = capture_io do
|
|
263
|
-
flags(['--classic-namespace'],
|
|
264
|
-
['-C', '-T', '-P', '-n', '-s', '-t']) do |opts|
|
|
265
|
-
assert opts.classic_namespace
|
|
266
|
-
assert_equal opts.show_tasks, $show_tasks
|
|
267
|
-
assert_equal opts.show_prereqs, $show_prereqs
|
|
268
|
-
assert_equal opts.trace, $trace
|
|
269
|
-
assert_equal opts.dryrun, $dryrun
|
|
270
|
-
assert_equal opts.silent, $silent
|
|
271
|
-
end
|
|
272
|
-
end
|
|
273
|
-
|
|
274
|
-
assert_match(/deprecated/, err)
|
|
275
|
-
end
|
|
276
|
-
|
|
277
|
-
def test_bad_option
|
|
278
|
-
_, err = capture_io do
|
|
279
|
-
ex = assert_raises(OptionParser::InvalidOption) do
|
|
280
|
-
flags('--bad-option')
|
|
281
|
-
end
|
|
282
|
-
|
|
283
|
-
if ex.message =~ /^While/ # Ruby 1.9 error message
|
|
284
|
-
assert_match(/while parsing/i, ex.message)
|
|
285
|
-
else # Ruby 1.8 error message
|
|
286
|
-
assert_match(/(invalid|unrecognized) option/i, ex.message)
|
|
287
|
-
assert_match(/--bad-option/, ex.message)
|
|
288
|
-
end
|
|
289
|
-
end
|
|
290
|
-
|
|
291
|
-
assert_equal '', err
|
|
292
|
-
end
|
|
293
|
-
|
|
294
|
-
def test_task_collection
|
|
295
|
-
command_line("a", "b")
|
|
296
|
-
assert_equal ["a", "b"], @tasks.sort
|
|
297
|
-
end
|
|
298
|
-
|
|
299
|
-
def test_default_task_collection
|
|
300
|
-
command_line()
|
|
301
|
-
assert_equal ["default"], @tasks
|
|
302
|
-
end
|
|
303
|
-
|
|
304
|
-
def test_environment_definition
|
|
305
|
-
ENV.delete('TESTKEY')
|
|
306
|
-
command_line("a", "TESTKEY=12")
|
|
307
|
-
assert_equal ["a"], @tasks.sort
|
|
308
|
-
assert '12', ENV['TESTKEY']
|
|
309
|
-
end
|
|
310
|
-
|
|
311
|
-
def flags(*sets)
|
|
312
|
-
sets.each do |set|
|
|
313
|
-
ARGV.clear
|
|
314
|
-
|
|
315
|
-
@exit = catch(:system_exit) { command_line(*set) }
|
|
316
|
-
|
|
317
|
-
yield(@app.options) if block_given?
|
|
318
|
-
end
|
|
319
|
-
end
|
|
320
|
-
|
|
321
|
-
def command_line(*options)
|
|
322
|
-
options.each do |opt| ARGV << opt end
|
|
323
|
-
@app = Rake::Application.new
|
|
324
|
-
def @app.exit(*args)
|
|
325
|
-
throw :system_exit, :exit
|
|
326
|
-
end
|
|
327
|
-
@app.instance_eval do
|
|
328
|
-
handle_options
|
|
329
|
-
collect_tasks
|
|
330
|
-
end
|
|
331
|
-
@tasks = @app.top_level_tasks
|
|
332
|
-
@app.options
|
|
333
|
-
end
|
|
334
|
-
end
|
|
335
|
-
|
data/test/test_rake_clean.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
require 'rake/clean'
|
|
3
|
-
|
|
4
|
-
class TestRakeClean < Rake::TestCase
|
|
5
|
-
include Rake
|
|
6
|
-
def test_clean
|
|
7
|
-
load 'rake/clean.rb', true
|
|
8
|
-
|
|
9
|
-
assert Task['clean'], "Should define clean"
|
|
10
|
-
assert Task['clobber'], "Should define clobber"
|
|
11
|
-
assert Task['clobber'].prerequisites.include?("clean"),
|
|
12
|
-
"Clobber should require clean"
|
|
13
|
-
end
|
|
14
|
-
end
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
require 'fileutils'
|
|
3
|
-
|
|
4
|
-
class TestRakeDefinitions < Rake::TestCase
|
|
5
|
-
include Rake
|
|
6
|
-
|
|
7
|
-
EXISTINGFILE = "existing"
|
|
8
|
-
|
|
9
|
-
def setup
|
|
10
|
-
super
|
|
11
|
-
|
|
12
|
-
Task.clear
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_task
|
|
16
|
-
done = false
|
|
17
|
-
task :one => [:two] do done = true end
|
|
18
|
-
task :two
|
|
19
|
-
task :three => [:one, :two]
|
|
20
|
-
check_tasks(:one, :two, :three)
|
|
21
|
-
assert done, "Should be done"
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def test_file_task
|
|
25
|
-
done = false
|
|
26
|
-
file "one" => "two" do done = true end
|
|
27
|
-
file "two"
|
|
28
|
-
file "three" => ["one", "two"]
|
|
29
|
-
check_tasks("one", "two", "three")
|
|
30
|
-
assert done, "Should be done"
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def check_tasks(n1, n2, n3)
|
|
34
|
-
t = Task[n1]
|
|
35
|
-
assert Task === t, "Should be a Task"
|
|
36
|
-
assert_equal n1.to_s, t.name
|
|
37
|
-
assert_equal [n2.to_s], t.prerequisites.collect{|n| n.to_s}
|
|
38
|
-
t.invoke
|
|
39
|
-
t2 = Task[n2]
|
|
40
|
-
assert_equal FileList[], t2.prerequisites
|
|
41
|
-
t3 = Task[n3]
|
|
42
|
-
assert_equal [n1.to_s, n2.to_s], t3.prerequisites.collect{|n|n.to_s}
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def test_incremental_definitions
|
|
46
|
-
runs = []
|
|
47
|
-
task :t1 => [:t2] do runs << "A"; 4321 end
|
|
48
|
-
task :t1 => [:t3] do runs << "B"; 1234 end
|
|
49
|
-
task :t1 => [:t3]
|
|
50
|
-
task :t2
|
|
51
|
-
task :t3
|
|
52
|
-
Task[:t1].invoke
|
|
53
|
-
assert_equal ["A", "B"], runs
|
|
54
|
-
assert_equal ["t2", "t3"], Task[:t1].prerequisites
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def test_missing_dependencies
|
|
58
|
-
task :x => ["missing"]
|
|
59
|
-
assert_raises(RuntimeError) { Task[:x].invoke }
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def test_implicit_file_dependencies
|
|
63
|
-
runs = []
|
|
64
|
-
create_existing_file
|
|
65
|
-
task :y => [EXISTINGFILE] do |t| runs << t.name end
|
|
66
|
-
Task[:y].invoke
|
|
67
|
-
assert_equal runs, ['y']
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
private # ----------------------------------------------------------
|
|
71
|
-
|
|
72
|
-
def create_existing_file
|
|
73
|
-
Dir.mkdir File.dirname(EXISTINGFILE) unless
|
|
74
|
-
File.exist?(File.dirname(EXISTINGFILE))
|
|
75
|
-
open(EXISTINGFILE, "w") do |f| f.puts "HI" end unless
|
|
76
|
-
File.exist?(EXISTINGFILE)
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
end
|
|
80
|
-
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
require 'fileutils'
|
|
3
|
-
|
|
4
|
-
class TestRakeDirectoryTask < Rake::TestCase
|
|
5
|
-
include Rake
|
|
6
|
-
|
|
7
|
-
def test_directory
|
|
8
|
-
desc "DESC"
|
|
9
|
-
|
|
10
|
-
directory "a/b/c"
|
|
11
|
-
|
|
12
|
-
assert_equal FileCreationTask, Task["a"].class
|
|
13
|
-
assert_equal FileCreationTask, Task["a/b"].class
|
|
14
|
-
assert_equal FileCreationTask, Task["a/b/c"].class
|
|
15
|
-
|
|
16
|
-
assert_nil Task["a"].comment
|
|
17
|
-
assert_nil Task["a/b"].comment
|
|
18
|
-
assert_equal "DESC", Task["a/b/c"].comment
|
|
19
|
-
|
|
20
|
-
verbose(false) {
|
|
21
|
-
Task['a/b'].invoke
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
assert File.exist?("a/b")
|
|
25
|
-
refute File.exist?("a/b/c")
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
if Rake::Win32.windows?
|
|
29
|
-
def test_directory_win32
|
|
30
|
-
desc "WIN32 DESC"
|
|
31
|
-
directory 'c:/a/b/c'
|
|
32
|
-
assert_equal FileTask, Task['c:'].class
|
|
33
|
-
assert_equal FileCreationTask, Task['c:/a'].class
|
|
34
|
-
assert_equal FileCreationTask, Task['c:/a/b'].class
|
|
35
|
-
assert_equal FileCreationTask, Task['c:/a/b/c'].class
|
|
36
|
-
assert_nil Task['c:/'].comment
|
|
37
|
-
assert_equal "WIN32 DESC", Task['c:/a/b/c'].comment
|
|
38
|
-
assert_nil Task['c:/a/b'].comment
|
|
39
|
-
verbose(false) {
|
|
40
|
-
Task['c:/a/b'].invoke
|
|
41
|
-
}
|
|
42
|
-
assert File.exist?('c:/a/b')
|
|
43
|
-
refute File.exist?('c:/a/b/c')
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
data/test/test_rake_dsl.rb
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
|
|
3
|
-
class TestRakeDsl < Rake::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
super
|
|
7
|
-
Rake::Task.clear
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def test_namespace_command
|
|
11
|
-
namespace "n" do
|
|
12
|
-
task "t"
|
|
13
|
-
end
|
|
14
|
-
refute_nil Rake::Task["n:t"]
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def test_namespace_command_with_bad_name
|
|
18
|
-
ex = assert_raises(ArgumentError) do
|
|
19
|
-
namespace 1 do end
|
|
20
|
-
end
|
|
21
|
-
assert_match(/string/i, ex.message)
|
|
22
|
-
assert_match(/symbol/i, ex.message)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def test_namespace_command_with_a_string_like_object
|
|
26
|
-
name = Object.new
|
|
27
|
-
def name.to_str
|
|
28
|
-
"bob"
|
|
29
|
-
end
|
|
30
|
-
namespace name do
|
|
31
|
-
task "t"
|
|
32
|
-
end
|
|
33
|
-
refute_nil Rake::Task["bob:t"]
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
class Foo
|
|
37
|
-
def initialize
|
|
38
|
-
task :foo_deprecated_a => "foo_deprecated_b" do
|
|
39
|
-
print "a"
|
|
40
|
-
end
|
|
41
|
-
file "foo_deprecated_b" do
|
|
42
|
-
print "b"
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def test_deprecated_object_dsl
|
|
48
|
-
out, err = capture_io do
|
|
49
|
-
Foo.new
|
|
50
|
-
Rake.application.invoke_task :foo_deprecated_a
|
|
51
|
-
end
|
|
52
|
-
assert_equal("ba", out)
|
|
53
|
-
assert_match(/deprecated/, err)
|
|
54
|
-
assert_match(/Foo\#task/, err)
|
|
55
|
-
assert_match(/Foo\#file/, err)
|
|
56
|
-
assert_match(/test_rake_dsl\.rb:\d+/, err)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def test_no_commands_constant
|
|
60
|
-
assert ! defined?(Commands), "should not define Commands"
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def test_deprecated_object_dsl_with_suppressed_warnings
|
|
64
|
-
Rake.application.options.ignore_deprecate = true
|
|
65
|
-
out, err = capture_io do
|
|
66
|
-
Foo.new
|
|
67
|
-
Rake.application.invoke_task :foo_deprecated_a
|
|
68
|
-
end
|
|
69
|
-
assert_equal("ba", out)
|
|
70
|
-
refute_match(/deprecated/, err)
|
|
71
|
-
refute_match(/Foo\#task/, err)
|
|
72
|
-
refute_match(/Foo\#file/, err)
|
|
73
|
-
refute_match(/test_rake_dsl\.rb:\d+/, err)
|
|
74
|
-
ensure
|
|
75
|
-
Rake.application.options.ignore_deprecate = false
|
|
76
|
-
end
|
|
77
|
-
end
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
|
|
3
|
-
class TestRakeEarlyTime < Rake::TestCase
|
|
4
|
-
def test_create
|
|
5
|
-
early = Rake::EarlyTime.instance
|
|
6
|
-
assert early <= Time.now
|
|
7
|
-
assert early < Time.now
|
|
8
|
-
assert early != Time.now
|
|
9
|
-
assert Time.now > early
|
|
10
|
-
assert Time.now >= early
|
|
11
|
-
assert Time.now != early
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def test_equality
|
|
15
|
-
early = Rake::EarlyTime.instance
|
|
16
|
-
assert_equal early, early, "two early times should be equal"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_original_time_compare_is_not_messed_up
|
|
20
|
-
t1 = Time.mktime(1970, 1, 1, 0, 0, 0)
|
|
21
|
-
t2 = Time.now
|
|
22
|
-
assert t1 < t2
|
|
23
|
-
assert t2 > t1
|
|
24
|
-
assert t1 == t1
|
|
25
|
-
assert t2 == t2
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def test_to_s
|
|
29
|
-
assert_equal "<EARLY TIME>", Rake::EARLY.to_s
|
|
30
|
-
end
|
|
31
|
-
end
|
data/test/test_rake_extension.rb
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
require 'stringio'
|
|
3
|
-
|
|
4
|
-
class TestRakeExtension < Rake::TestCase
|
|
5
|
-
|
|
6
|
-
module Redirect
|
|
7
|
-
def error_redirect
|
|
8
|
-
old_err = $stderr
|
|
9
|
-
result = StringIO.new
|
|
10
|
-
$stderr = result
|
|
11
|
-
yield
|
|
12
|
-
result
|
|
13
|
-
ensure
|
|
14
|
-
$stderr = old_err
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
class Sample
|
|
19
|
-
extend Redirect
|
|
20
|
-
|
|
21
|
-
def duplicate_method
|
|
22
|
-
:original
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
OK_ERRS = error_redirect do
|
|
26
|
-
rake_extension("a") do
|
|
27
|
-
def ok_method
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
DUP_ERRS = error_redirect do
|
|
34
|
-
rake_extension("duplicate_method") do
|
|
35
|
-
def duplicate_method
|
|
36
|
-
:override
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def test_methods_actually_exist
|
|
43
|
-
sample = Sample.new
|
|
44
|
-
sample.ok_method
|
|
45
|
-
sample.duplicate_method
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def test_no_warning_when_defining_ok_method
|
|
49
|
-
assert_equal "", Sample::OK_ERRS.string
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def test_extension_complains_when_a_method_that_is_present
|
|
53
|
-
assert_match(/warning:/i, Sample::DUP_ERRS.string)
|
|
54
|
-
assert_match(/already exists/i, Sample::DUP_ERRS.string)
|
|
55
|
-
assert_match(/duplicate_method/i, Sample::DUP_ERRS.string)
|
|
56
|
-
assert_equal :original, Sample.new.duplicate_method
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
end
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
require 'fileutils'
|
|
3
|
-
|
|
4
|
-
######################################################################
|
|
5
|
-
class TestRakeFileCreationTask < Rake::TestCase
|
|
6
|
-
include Rake
|
|
7
|
-
include Rake::DSL
|
|
8
|
-
|
|
9
|
-
DUMMY_DIR = 'dummy_dir'
|
|
10
|
-
|
|
11
|
-
def setup
|
|
12
|
-
super
|
|
13
|
-
|
|
14
|
-
Task.clear
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def test_file_needed
|
|
18
|
-
create_dir DUMMY_DIR
|
|
19
|
-
fc_task = Task[DUMMY_DIR]
|
|
20
|
-
assert_equal DUMMY_DIR, fc_task.name
|
|
21
|
-
FileUtils.rm_rf fc_task.name
|
|
22
|
-
assert fc_task.needed?, "file should be needed"
|
|
23
|
-
FileUtils.mkdir fc_task.name
|
|
24
|
-
assert_equal nil, fc_task.prerequisites.collect{|n| Task[n].timestamp}.max
|
|
25
|
-
assert ! fc_task.needed?, "file should not be needed"
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def test_directory
|
|
29
|
-
directory DUMMY_DIR
|
|
30
|
-
fc_task = Task[DUMMY_DIR]
|
|
31
|
-
assert_equal DUMMY_DIR, fc_task.name
|
|
32
|
-
assert FileCreationTask === fc_task
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def test_no_retriggers_on_filecreate_task
|
|
36
|
-
create_timed_files(OLDFILE, NEWFILE)
|
|
37
|
-
t1 = Rake.application.intern(FileCreationTask, OLDFILE).enhance([NEWFILE])
|
|
38
|
-
t2 = Rake.application.intern(FileCreationTask, NEWFILE)
|
|
39
|
-
assert ! t2.needed?, "Should not need to build new file"
|
|
40
|
-
assert ! t1.needed?, "Should not need to rebuild old file because of new"
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def test_no_retriggers_on_file_task
|
|
44
|
-
create_timed_files(OLDFILE, NEWFILE)
|
|
45
|
-
t1 = Rake.application.intern(FileCreationTask, OLDFILE).enhance([NEWFILE])
|
|
46
|
-
t2 = Rake.application.intern(FileCreationTask, NEWFILE)
|
|
47
|
-
assert ! t2.needed?, "Should not need to build new file"
|
|
48
|
-
assert ! t1.needed?, "Should not need to rebuild old file because of new"
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def test_very_early_timestamp
|
|
52
|
-
t1 = Rake.application.intern(FileCreationTask, OLDFILE)
|
|
53
|
-
assert t1.timestamp < Time.now
|
|
54
|
-
assert t1.timestamp < Time.now - 1000000
|
|
55
|
-
end
|
|
56
|
-
end
|