rake 0.9.2 → 0.9.2.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rake might be problematic. Click here for more details.

Files changed (75) hide show
  1. data/CHANGES +13 -0
  2. data/README.rdoc +12 -15
  3. data/Rakefile +8 -44
  4. data/bin/rake +1 -0
  5. data/lib/rake.rb +4 -0
  6. data/lib/rake/application.rb +9 -3
  7. data/lib/rake/classic_namespace.rb +2 -0
  8. data/lib/rake/clean.rb +1 -0
  9. data/lib/rake/contrib/publisher.rb +10 -6
  10. data/lib/rake/contrib/sshpublisher.rb +5 -0
  11. data/lib/rake/dsl_definition.rb +13 -4
  12. data/lib/rake/ext/time.rb +3 -3
  13. data/lib/rake/file_utils.rb +9 -7
  14. data/lib/rake/file_utils_ext.rb +4 -1
  15. data/lib/rake/gempackagetask.rb +2 -0
  16. data/lib/rake/rake_test_loader.rb +15 -6
  17. data/lib/rake/rdoctask.rb +5 -1
  18. data/lib/rake/task_arguments.rb +4 -0
  19. data/lib/rake/version.rb +5 -7
  20. data/test/file_creation.rb +2 -2
  21. data/test/helper.rb +460 -12
  22. data/test/test_rake.rb +3 -1
  23. data/test/test_rake_application.rb +250 -125
  24. data/test/test_rake_application_options.rb +146 -193
  25. data/test/test_rake_clean.rb +2 -0
  26. data/test/test_rake_definitions.rb +6 -6
  27. data/test/test_rake_directory_task.rb +26 -35
  28. data/test/test_rake_dsl.rb +4 -0
  29. data/test/test_rake_file_creation_task.rb +1 -7
  30. data/test/test_rake_file_list.rb +128 -133
  31. data/test/test_rake_file_task.rb +1 -3
  32. data/test/test_rake_file_utils.rb +123 -70
  33. data/test/test_rake_functional.rb +234 -252
  34. data/test/test_rake_makefile_loader.rb +22 -1
  35. data/test/test_rake_package_task.rb +10 -9
  36. data/test/test_rake_path_map_explode.rb +3 -0
  37. data/test/test_rake_pseudo_status.rb +3 -2
  38. data/test/test_rake_rake_test_loader.rb +21 -0
  39. data/test/test_rake_rdoc_task.rb +5 -3
  40. data/test/test_rake_require.rb +8 -3
  41. data/test/test_rake_rules.rb +56 -75
  42. data/test/test_rake_task.rb +5 -9
  43. data/test/test_rake_task_argument_parsing.rb +33 -46
  44. data/test/test_rake_task_arguments.rb +2 -0
  45. data/test/test_rake_task_manager.rb +12 -0
  46. data/test/test_rake_task_with_arguments.rb +11 -0
  47. data/test/test_rake_test_task.rb +55 -57
  48. data/test/test_rake_top_level_functions.rb +52 -17
  49. data/test/test_rake_win32.rb +31 -42
  50. metadata +6 -52
  51. data/RRR +0 -9
  52. data/test/check_expansion.rb +0 -5
  53. data/test/check_no_expansion.rb +0 -5
  54. data/test/data/access/Rakefile +0 -35
  55. data/test/data/chains/Rakefile +0 -15
  56. data/test/data/comments/Rakefile +0 -18
  57. data/test/data/default/Rakefile +0 -17
  58. data/test/data/deprecated_import/Rakefile +0 -1
  59. data/test/data/dryrun/Rakefile +0 -22
  60. data/test/data/extra/Rakefile +0 -1
  61. data/test/data/file_creation_task/Rakefile +0 -31
  62. data/test/data/imports/Rakefile +0 -19
  63. data/test/data/imports/deps.mf +0 -1
  64. data/test/data/multidesc/Rakefile +0 -15
  65. data/test/data/namespace/Rakefile +0 -64
  66. data/test/data/rakelib/test1.rb +0 -4
  67. data/test/data/rbext/rakefile.rb +0 -3
  68. data/test/data/sample.mf +0 -14
  69. data/test/data/statusreturn/Rakefile +0 -6
  70. data/test/data/unittest/Rakefile +0 -1
  71. data/test/data/verbose/Rakefile +0 -34
  72. data/test/in_environment.rb +0 -35
  73. data/test/reqfile.rb +0 -3
  74. data/test/reqfile2.rb +0 -3
  75. data/test/shellcommand.rb +0 -3
@@ -28,312 +28,267 @@ class TestRakeApplicationOptions < Rake::TestCase
28
28
  end
29
29
 
30
30
  def test_default_options
31
- in_environment("RAKEOPT" => nil) do
32
- opts = command_line
33
- assert_nil opts.classic_namespace
34
- assert_nil opts.dryrun
35
- assert_nil opts.ignore_system
36
- assert_nil opts.load_system
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_equal ['rakelib'], opts.rakelib
45
- assert ! Rake::FileUtilsExt.verbose_flag
46
- assert ! Rake::FileUtilsExt.nowrite_flag
47
- end
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
48
46
  end
49
47
 
50
48
  def test_dry_run
51
- in_environment do
52
- flags('--dry-run', '-n') do |opts|
53
- assert opts.dryrun
54
- assert opts.trace
55
- assert Rake::FileUtilsExt.verbose_flag
56
- assert Rake::FileUtilsExt.nowrite_flag
57
- end
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
58
54
  end
59
55
  end
60
56
 
61
57
  def test_describe
62
- in_environment do
63
- flags('--describe') do |opts|
64
- assert_equal :describe, opts.show_tasks
65
- assert_equal(//.to_s, opts.show_task_pattern.to_s)
66
- end
58
+ flags('--describe') do |opts|
59
+ assert_equal :describe, opts.show_tasks
60
+ assert_equal(//.to_s, opts.show_task_pattern.to_s)
67
61
  end
68
62
  end
69
63
 
70
64
  def test_describe_with_pattern
71
- in_environment do
72
- flags('--describe=X') do |opts|
73
- assert_equal :describe, opts.show_tasks
74
- assert_equal(/X/.to_s, opts.show_task_pattern.to_s)
75
- end
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)
76
68
  end
77
69
  end
78
70
 
79
71
  def test_execute
80
- in_environment do
72
+ $xyzzy = 0
73
+ flags('--execute=$xyzzy=1', '-e $xyzzy=1') do |opts|
74
+ assert_equal 1, $xyzzy
75
+ assert_equal :exit, @exit
81
76
  $xyzzy = 0
82
- flags('--execute=$xyzzy=1', '-e $xyzzy=1') do |opts|
83
- assert_equal 1, $xyzzy
84
- assert_equal :exit, @exit
85
- $xyzzy = 0
86
- end
87
77
  end
88
78
  end
89
79
 
90
80
  def test_execute_and_continue
91
- in_environment do
81
+ $xyzzy = 0
82
+ flags('--execute-continue=$xyzzy=1', '-E $xyzzy=1') do |opts|
83
+ assert_equal 1, $xyzzy
84
+ refute_equal :exit, @exit
92
85
  $xyzzy = 0
93
- flags('--execute-continue=$xyzzy=1', '-E $xyzzy=1') do |opts|
94
- assert_equal 1, $xyzzy
95
- refute_equal :exit, @exit
96
- $xyzzy = 0
97
- end
98
86
  end
99
87
  end
100
88
 
101
89
  def test_execute_and_print
102
- in_environment do
103
- $xyzzy = 0
104
- out, = capture_io do
105
- flags('--execute-print=$xyzzy="pugh"', '-p $xyzzy="pugh"') do |opts|
106
- assert_equal 'pugh', $xyzzy
107
- assert_equal :exit, @exit
108
- $xyzzy = 0
109
- end
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
110
96
  end
111
-
112
- assert_match(/^pugh$/, out)
113
97
  end
98
+
99
+ assert_match(/^pugh$/, out)
114
100
  end
115
101
 
116
102
  def test_help
117
- in_environment do
118
- out, = capture_io do
119
- flags '--help', '-H', '-h'
120
- end
121
-
122
- assert_match(/\Arake/, out)
123
- assert_match(/\boptions\b/, out)
124
- assert_match(/\btargets\b/, out)
125
- assert_equal :exit, @exit
103
+ out, = capture_io do
104
+ flags '--help', '-H', '-h'
126
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
127
111
  end
128
112
 
129
113
  def test_libdir
130
- in_environment do
131
- flags(['--libdir', 'xx'], ['-I', 'xx'], ['-Ixx']) do |opts|
132
- $:.include?('xx')
133
- end
114
+ flags(['--libdir', 'xx'], ['-I', 'xx'], ['-Ixx']) do |opts|
115
+ $:.include?('xx')
134
116
  end
135
117
  ensure
136
118
  $:.delete('xx')
137
119
  end
138
120
 
139
121
  def test_rakefile
140
- in_environment do
141
- flags(['--rakefile', 'RF'], ['--rakefile=RF'], ['-f', 'RF'], ['-fRF']) do |opts|
142
- assert_equal ['RF'], @app.instance_eval { @rakefiles }
143
- end
122
+ flags(['--rakefile', 'RF'], ['--rakefile=RF'], ['-f', 'RF'], ['-fRF']) do |opts|
123
+ assert_equal ['RF'], @app.instance_eval { @rakefiles }
144
124
  end
145
125
  end
146
126
 
147
127
  def test_rakelib
148
- in_environment do
149
- flags(['--rakelibdir', 'A:B:C'], ['--rakelibdir=A:B:C'], ['-R', 'A:B:C'], ['-RA:B:C']) do |opts|
150
- assert_equal ['A', 'B', 'C'], opts.rakelib
151
- end
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
152
130
  end
153
131
  end
154
132
 
155
133
  def test_require
156
- in_environment do
157
- flags(['--require', 'test/reqfile'], '-rtest/reqfile2', '-rtest/reqfile3') do |opts|
158
- end
159
- assert TESTING_REQUIRE.include?(1)
160
- assert TESTING_REQUIRE.include?(2)
161
- assert TESTING_REQUIRE.include?(3)
162
- assert_equal 3, TESTING_REQUIRE.size
163
- end
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
164
149
  end
165
150
 
166
151
  def test_missing_require
167
- in_environment do
168
- ex = assert_raises(LoadError) do
169
- flags(['--require', 'test/missing']) do |opts|
170
- end
152
+ ex = assert_raises(LoadError) do
153
+ flags(['--require', 'test/missing']) do |opts|
171
154
  end
172
- assert_match(/such file/, ex.message)
173
- assert_match(/test\/missing/, ex.message)
174
155
  end
156
+ assert_match(/such file/, ex.message)
157
+ assert_match(/test\/missing/, ex.message)
175
158
  end
176
159
 
177
160
  def test_prereqs
178
- in_environment do
179
- flags('--prereqs', '-P') do |opts|
180
- assert opts.show_prereqs
181
- end
161
+ flags('--prereqs', '-P') do |opts|
162
+ assert opts.show_prereqs
182
163
  end
183
164
  end
184
165
 
185
166
  def test_quiet
186
- in_environment do
187
- flags('--quiet', '-q') do |opts|
188
- assert ! Rake::FileUtilsExt.verbose_flag
189
- assert ! opts.silent
190
- end
167
+ flags('--quiet', '-q') do |opts|
168
+ assert ! Rake::FileUtilsExt.verbose_flag
169
+ assert ! opts.silent
191
170
  end
192
171
  end
193
172
 
194
173
  def test_no_search
195
- in_environment do
196
- flags('--nosearch', '--no-search', '-N') do |opts|
197
- assert opts.nosearch
198
- end
174
+ flags('--nosearch', '--no-search', '-N') do |opts|
175
+ assert opts.nosearch
199
176
  end
200
177
  end
201
178
 
202
179
  def test_silent
203
- in_environment do
204
- flags('--silent', '-s') do |opts|
205
- assert ! Rake::FileUtilsExt.verbose_flag
206
- assert opts.silent
207
- end
180
+ flags('--silent', '-s') do |opts|
181
+ assert ! Rake::FileUtilsExt.verbose_flag
182
+ assert opts.silent
208
183
  end
209
184
  end
210
185
 
211
186
  def test_system
212
- in_environment do
213
- flags('--system', '-g') do |opts|
214
- assert opts.load_system
215
- end
187
+ flags('--system', '-g') do |opts|
188
+ assert opts.load_system
216
189
  end
217
190
  end
218
191
 
219
192
  def test_no_system
220
- in_environment do
221
- flags('--no-system', '-G') do |opts|
222
- assert opts.ignore_system
223
- end
193
+ flags('--no-system', '-G') do |opts|
194
+ assert opts.ignore_system
224
195
  end
225
196
  end
226
197
 
227
198
  def test_trace
228
- in_environment do
229
- flags('--trace', '-t') do |opts|
230
- assert opts.trace
231
- assert Rake::FileUtilsExt.verbose_flag
232
- assert ! Rake::FileUtilsExt.nowrite_flag
233
- end
199
+ flags('--trace', '-t') do |opts|
200
+ assert opts.trace
201
+ assert Rake::FileUtilsExt.verbose_flag
202
+ assert ! Rake::FileUtilsExt.nowrite_flag
234
203
  end
235
204
  end
236
205
 
237
206
  def test_trace_rules
238
- in_environment do
239
- flags('--rules') do |opts|
240
- assert opts.trace_rules
241
- end
207
+ flags('--rules') do |opts|
208
+ assert opts.trace_rules
242
209
  end
243
210
  end
244
211
 
245
212
  def test_tasks
246
- in_environment do
247
- flags('--tasks', '-T') do |opts|
248
- assert_equal :tasks, opts.show_tasks
249
- assert_equal(//.to_s, opts.show_task_pattern.to_s)
250
- end
251
- flags(['--tasks', 'xyz'], ['-Txyz']) do |opts|
252
- assert_equal :tasks, opts.show_tasks
253
- assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
254
- end
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)
255
220
  end
256
221
  end
257
222
 
258
223
  def test_where
259
- in_environment do
260
- flags('--where', '-W') do |opts|
261
- assert_equal :lines, opts.show_tasks
262
- assert_equal(//.to_s, opts.show_task_pattern.to_s)
263
- end
264
- flags(['--where', 'xyz'], ['-Wxyz']) do |opts|
265
- assert_equal :lines, opts.show_tasks
266
- assert_equal(/xyz/.to_s, opts.show_task_pattern.to_s)
267
- end
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)
268
231
  end
269
232
  end
270
233
 
271
234
  def test_no_deprecated_messages
272
- in_environment do
273
- flags('--no-deprecation-warnings', '-X') do |opts|
274
- assert opts.ignore_deprecate
275
- end
235
+ flags('--no-deprecation-warnings', '-X') do |opts|
236
+ assert opts.ignore_deprecate
276
237
  end
277
238
  end
278
239
 
279
240
  def test_verbose
280
- in_environment do
281
- out, = capture_io do
282
- flags('--verbose', '-V') do |opts|
283
- assert Rake::FileUtilsExt.verbose_flag
284
- assert ! opts.silent
285
- end
241
+ out, = capture_io do
242
+ flags('--verbose', '-V') do |opts|
243
+ assert Rake::FileUtilsExt.verbose_flag
244
+ assert ! opts.silent
286
245
  end
287
-
288
- assert_equal "rake, version #{Rake::VERSION}\n", out
289
246
  end
247
+
248
+ assert_equal "rake, version #{Rake::VERSION}\n", out
290
249
  end
291
250
 
292
251
  def test_version
293
- in_environment do
294
- out, = capture_io do
295
- flags '--version', '-V'
296
- end
297
-
298
- assert_match(/\bversion\b/, out)
299
- assert_match(/\b#{RAKEVERSION}\b/, out)
300
- assert_equal :exit, @exit
252
+ out, = capture_io do
253
+ flags '--version', '-V'
301
254
  end
255
+
256
+ assert_match(/\bversion\b/, out)
257
+ assert_match(/\b#{RAKEVERSION}\b/, out)
258
+ assert_equal :exit, @exit
302
259
  end
303
260
 
304
261
  def test_classic_namespace
305
- in_environment do
306
- _, err = capture_io do
307
- flags(['--classic-namespace'],
308
- ['-C', '-T', '-P', '-n', '-s', '-t']) do |opts|
309
- assert opts.classic_namespace
310
- assert_equal opts.show_tasks, $show_tasks
311
- assert_equal opts.show_prereqs, $show_prereqs
312
- assert_equal opts.trace, $trace
313
- assert_equal opts.dryrun, $dryrun
314
- assert_equal opts.silent, $silent
315
- end
316
- end
317
-
318
- assert_match(/deprecated/, err)
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
319
272
  end
273
+
274
+ assert_match(/deprecated/, err)
320
275
  end
321
276
 
322
277
  def test_bad_option
323
- in_environment do
324
- _, err = capture_io do
325
- ex = assert_raises(OptionParser::InvalidOption) do
326
- flags('--bad-option')
327
- end
328
- if ex.message =~ /^While/ # Ruby 1.9 error message
329
- assert_match(/while parsing/i, ex.message)
330
- else # Ruby 1.8 error message
331
- assert_match(/(invalid|unrecognized) option/i, ex.message)
332
- assert_match(/--bad-option/, ex.message)
333
- end
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)
334
288
  end
335
- assert_equal '', err
336
289
  end
290
+
291
+ assert_equal '', err
337
292
  end
338
293
 
339
294
  def test_task_collection
@@ -353,8 +308,6 @@ class TestRakeApplicationOptions < Rake::TestCase
353
308
  assert '12', ENV['TESTKEY']
354
309
  end
355
310
 
356
- private
357
-
358
311
  def flags(*sets)
359
312
  sets.each do |set|
360
313
  ARGV.clear