rake 10.5.0 → 13.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/macos.yml +22 -0
  3. data/.github/workflows/ubuntu-rvm.yml +28 -0
  4. data/.github/workflows/ubuntu.yml +20 -0
  5. data/.github/workflows/windows.yml +20 -0
  6. data/CONTRIBUTING.rdoc +13 -8
  7. data/Gemfile +10 -0
  8. data/History.rdoc +1997 -288
  9. data/README.rdoc +27 -11
  10. data/Rakefile +25 -65
  11. data/bin/bundle +105 -0
  12. data/bin/console +7 -0
  13. data/bin/rake +20 -24
  14. data/bin/rdoc +29 -0
  15. data/bin/rubocop +29 -0
  16. data/bin/setup +6 -0
  17. data/doc/jamis.rb +1 -0
  18. data/doc/rake.1 +139 -124
  19. data/doc/rakefile.rdoc +2 -4
  20. data/exe/rake +27 -0
  21. data/lib/rake/application.rb +124 -90
  22. data/lib/rake/backtrace.rb +3 -2
  23. data/lib/rake/clean.rb +7 -5
  24. data/lib/rake/cloneable.rb +1 -0
  25. data/lib/rake/cpu_counter.rb +10 -28
  26. data/lib/rake/default_loader.rb +1 -0
  27. data/lib/rake/dsl_definition.rb +5 -11
  28. data/lib/rake/early_time.rb +1 -0
  29. data/lib/rake/ext/core.rb +1 -0
  30. data/lib/rake/ext/string.rb +22 -21
  31. data/lib/rake/file_creation_task.rb +4 -3
  32. data/lib/rake/file_list.rb +34 -27
  33. data/lib/rake/file_task.rb +12 -4
  34. data/lib/rake/file_utils.rb +38 -32
  35. data/lib/rake/file_utils_ext.rb +8 -18
  36. data/lib/rake/invocation_chain.rb +1 -0
  37. data/lib/rake/invocation_exception_mixin.rb +1 -0
  38. data/lib/rake/late_time.rb +2 -1
  39. data/lib/rake/linked_list.rb +24 -15
  40. data/lib/rake/loaders/makefile.rb +5 -4
  41. data/lib/rake/multi_task.rb +2 -1
  42. data/lib/rake/name_space.rb +1 -1
  43. data/lib/rake/packagetask.rb +40 -17
  44. data/lib/rake/phony.rb +2 -1
  45. data/lib/rake/private_reader.rb +1 -0
  46. data/lib/rake/promise.rb +13 -12
  47. data/lib/rake/pseudo_status.rb +1 -0
  48. data/lib/rake/rake_module.rb +30 -1
  49. data/lib/rake/rake_test_loader.rb +18 -13
  50. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  51. data/lib/rake/scope.rb +3 -2
  52. data/lib/rake/task.rb +82 -31
  53. data/lib/rake/task_argument_error.rb +1 -0
  54. data/lib/rake/task_arguments.rb +15 -4
  55. data/lib/rake/task_manager.rb +54 -30
  56. data/lib/rake/tasklib.rb +2 -14
  57. data/lib/rake/testtask.rb +39 -28
  58. data/lib/rake/thread_history_display.rb +4 -3
  59. data/lib/rake/thread_pool.rb +16 -17
  60. data/lib/rake/trace_output.rb +2 -1
  61. data/lib/rake/version.rb +4 -1
  62. data/lib/rake/win32.rb +10 -15
  63. data/lib/rake.rb +35 -43
  64. data/rake.gemspec +43 -0
  65. metadata +33 -216
  66. data/.autotest +0 -7
  67. data/.rubocop.yml +0 -27
  68. data/.togglerc +0 -7
  69. data/Manifest.txt +0 -166
  70. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  71. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  72. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  73. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  74. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  75. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  76. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  77. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  78. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  79. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  80. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  81. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  82. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  83. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  84. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  85. data/doc/release_notes/rake-0.8.6.rdoc +0 -37
  86. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  87. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  88. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  89. data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  90. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  91. data/doc/release_notes/rake-0.9.3.rdoc +0 -102
  92. data/doc/release_notes/rake-0.9.4.rdoc +0 -60
  93. data/doc/release_notes/rake-0.9.5.rdoc +0 -55
  94. data/doc/release_notes/rake-0.9.6.rdoc +0 -64
  95. data/doc/release_notes/rake-10.0.0.rdoc +0 -178
  96. data/doc/release_notes/rake-10.0.1.rdoc +0 -58
  97. data/doc/release_notes/rake-10.0.2.rdoc +0 -53
  98. data/doc/release_notes/rake-10.0.3.rdoc +0 -191
  99. data/doc/release_notes/rake-10.1.0.rdoc +0 -61
  100. data/lib/rake/alt_system.rb +0 -110
  101. data/lib/rake/contrib/.document +0 -1
  102. data/lib/rake/contrib/compositepublisher.rb +0 -21
  103. data/lib/rake/contrib/ftptools.rb +0 -137
  104. data/lib/rake/contrib/publisher.rb +0 -81
  105. data/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  106. data/lib/rake/contrib/sshpublisher.rb +0 -61
  107. data/lib/rake/contrib/sys.rb +0 -4
  108. data/lib/rake/ext/module.rb +0 -2
  109. data/lib/rake/ext/pathname.rb +0 -25
  110. data/lib/rake/ext/time.rb +0 -18
  111. data/lib/rake/gempackagetask.rb +0 -4
  112. data/lib/rake/pathmap.rb +0 -3
  113. data/lib/rake/rdoctask.rb +0 -4
  114. data/lib/rake/ruby182_test_unit_fix.rb +0 -29
  115. data/lib/rake/runtest.rb +0 -27
  116. data/rakelib/publish.rake +0 -20
  117. data/rakelib/test_times.rake +0 -25
  118. data/test/file_creation.rb +0 -34
  119. data/test/helper.rb +0 -129
  120. data/test/support/rakefile_definitions.rb +0 -478
  121. data/test/support/ruby_runner.rb +0 -34
  122. data/test/test_private_reader.rb +0 -42
  123. data/test/test_rake.rb +0 -40
  124. data/test/test_rake_application.rb +0 -643
  125. data/test/test_rake_application_options.rb +0 -468
  126. data/test/test_rake_backtrace.rb +0 -119
  127. data/test/test_rake_clean.rb +0 -61
  128. data/test/test_rake_cpu_counter.rb +0 -68
  129. data/test/test_rake_definitions.rb +0 -84
  130. data/test/test_rake_directory_task.rb +0 -76
  131. data/test/test_rake_dsl.rb +0 -40
  132. data/test/test_rake_early_time.rb +0 -31
  133. data/test/test_rake_extension.rb +0 -59
  134. data/test/test_rake_file_creation_task.rb +0 -56
  135. data/test/test_rake_file_list.rb +0 -670
  136. data/test/test_rake_file_list_path_map.rb +0 -8
  137. data/test/test_rake_file_task.rb +0 -197
  138. data/test/test_rake_file_utils.rb +0 -314
  139. data/test/test_rake_ftp_file.rb +0 -74
  140. data/test/test_rake_functional.rb +0 -482
  141. data/test/test_rake_invocation_chain.rb +0 -64
  142. data/test/test_rake_late_time.rb +0 -18
  143. data/test/test_rake_linked_list.rb +0 -84
  144. data/test/test_rake_makefile_loader.rb +0 -46
  145. data/test/test_rake_multi_task.rb +0 -64
  146. data/test/test_rake_name_space.rb +0 -57
  147. data/test/test_rake_package_task.rb +0 -79
  148. data/test/test_rake_path_map.rb +0 -168
  149. data/test/test_rake_path_map_explode.rb +0 -34
  150. data/test/test_rake_path_map_partial.rb +0 -18
  151. data/test/test_rake_pathname_extensions.rb +0 -15
  152. data/test/test_rake_pseudo_status.rb +0 -21
  153. data/test/test_rake_rake_test_loader.rb +0 -20
  154. data/test/test_rake_reduce_compat.rb +0 -26
  155. data/test/test_rake_require.rb +0 -40
  156. data/test/test_rake_rules.rb +0 -388
  157. data/test/test_rake_scope.rb +0 -44
  158. data/test/test_rake_task.rb +0 -393
  159. data/test/test_rake_task_argument_parsing.rb +0 -119
  160. data/test/test_rake_task_arguments.rb +0 -127
  161. data/test/test_rake_task_lib.rb +0 -9
  162. data/test/test_rake_task_manager.rb +0 -178
  163. data/test/test_rake_task_manager_argument_resolution.rb +0 -19
  164. data/test/test_rake_task_with_arguments.rb +0 -172
  165. data/test/test_rake_test_task.rb +0 -146
  166. data/test/test_rake_thread_pool.rb +0 -145
  167. data/test/test_rake_top_level_functions.rb +0 -71
  168. data/test/test_rake_win32.rb +0 -72
  169. data/test/test_thread_history_display.rb +0 -101
  170. data/test/test_trace_output.rb +0 -52
@@ -1,34 +0,0 @@
1
- module FileCreation
2
- OLDFILE = "old"
3
- NEWFILE = "new"
4
-
5
- def create_timed_files(oldfile, *newfiles)
6
- return if (File.exist?(oldfile) &&
7
- newfiles.all? { |newfile|
8
- File.exist?(newfile) && File.stat(newfile).mtime > File.stat(oldfile).mtime
9
- })
10
- now = Time.now
11
-
12
- create_file(oldfile, now - 60)
13
-
14
- newfiles.each do |newfile|
15
- create_file(newfile, now)
16
- end
17
- end
18
-
19
- def create_dir(dirname)
20
- FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
21
- File.stat(dirname).mtime
22
- end
23
-
24
- def create_file(name, file_time=nil)
25
- create_dir(File.dirname(name))
26
- FileUtils.touch(name) unless File.exist?(name)
27
- File.utime(file_time, file_time, name) unless file_time.nil?
28
- File.stat(name).mtime
29
- end
30
-
31
- def delete_file(name)
32
- File.delete(name) rescue nil
33
- end
34
- end
data/test/helper.rb DELETED
@@ -1,129 +0,0 @@
1
- require 'rubygems'
2
- $:.unshift File.expand_path('../../lib', __FILE__)
3
-
4
- begin
5
- gem 'minitest', '~> 5'
6
- rescue Gem::LoadError
7
- end
8
-
9
- require 'minitest/autorun'
10
- require 'rake'
11
- require 'tmpdir'
12
- require File.expand_path('../file_creation', __FILE__)
13
-
14
-
15
- begin
16
- require_relative 'support/ruby_runner'
17
- require_relative 'support/rakefile_definitions'
18
- rescue NoMethodError, LoadError
19
- # ruby 1.8
20
- require 'test/support/ruby_runner'
21
- require 'test/support/rakefile_definitions'
22
- end
23
-
24
- class Rake::TestCase < Minitest::Test
25
- include FileCreation
26
-
27
- include Rake::DSL
28
-
29
- class TaskManager
30
- include Rake::TaskManager
31
- end
32
-
33
- RUBY = defined?(EnvUtil) ? EnvUtil.rubybin : Gem.ruby
34
-
35
- def setup
36
- ARGV.clear
37
-
38
- test_dir = File.basename File.dirname File.expand_path __FILE__
39
-
40
- @rake_root =
41
- if test_dir == 'test'
42
- # rake repository
43
- File.expand_path '../../', __FILE__
44
- else
45
- # ruby repository
46
- File.expand_path '../../../', __FILE__
47
- end
48
-
49
- @verbose = ENV['VERBOSE']
50
-
51
- @rake_exec = File.join @rake_root, 'bin', 'rake'
52
- @rake_lib = File.join @rake_root, 'lib'
53
- @ruby_options = ["-I#{@rake_lib}", "-I."]
54
-
55
- @orig_pwd = Dir.pwd
56
- @orig_appdata = ENV['APPDATA']
57
- @orig_home = ENV['HOME']
58
- @orig_homedrive = ENV['HOMEDRIVE']
59
- @orig_homepath = ENV['HOMEPATH']
60
- @orig_rake_columns = ENV['RAKE_COLUMNS']
61
- @orig_rake_system = ENV['RAKE_SYSTEM']
62
- @orig_rakeopt = ENV['RAKEOPT']
63
- @orig_userprofile = ENV['USERPROFILE']
64
- ENV.delete 'RAKE_COLUMNS'
65
- ENV.delete 'RAKE_SYSTEM'
66
- ENV.delete 'RAKEOPT'
67
-
68
- tmpdir = Dir.chdir Dir.tmpdir do Dir.pwd end
69
- @tempdir = File.join tmpdir, "test_rake_#{$$}"
70
-
71
- FileUtils.mkdir_p @tempdir
72
-
73
- Dir.chdir @tempdir
74
-
75
- Rake.application = Rake::Application.new
76
- Rake::TaskManager.record_task_metadata = true
77
- RakeFileUtils.verbose_flag = false
78
- end
79
-
80
- def teardown
81
- Dir.chdir @orig_pwd
82
- FileUtils.rm_rf @tempdir
83
-
84
- if @orig_appdata
85
- ENV['APPDATA'] = @orig_appdata
86
- else
87
- ENV.delete 'APPDATA'
88
- end
89
-
90
- ENV['HOME'] = @orig_home
91
- ENV['HOMEDRIVE'] = @orig_homedrive
92
- ENV['HOMEPATH'] = @orig_homepath
93
- ENV['RAKE_COLUMNS'] = @orig_rake_columns
94
- ENV['RAKE_SYSTEM'] = @orig_rake_system
95
- ENV['RAKEOPT'] = @orig_rakeopt
96
- ENV['USERPROFILE'] = @orig_userprofile
97
- end
98
-
99
- def ignore_deprecations
100
- Rake.application.options.ignore_deprecate = true
101
- yield
102
- ensure
103
- Rake.application.options.ignore_deprecate = false
104
- end
105
-
106
- def rake_system_dir
107
- @system_dir = 'system'
108
-
109
- FileUtils.mkdir_p @system_dir
110
-
111
- open File.join(@system_dir, 'sys1.rake'), 'w' do |io|
112
- io << <<-SYS
113
- task "sys1" do
114
- puts "SYS1"
115
- end
116
- SYS
117
- end
118
-
119
- ENV['RAKE_SYSTEM'] = @system_dir
120
- end
121
-
122
- def rakefile(contents)
123
- open 'Rakefile', 'w' do |io|
124
- io << contents
125
- end
126
- end
127
-
128
- include RakefileDefinitions
129
- end
@@ -1,478 +0,0 @@
1
- module RakefileDefinitions
2
- include FileUtils
3
-
4
- def rakefile_access
5
- rakefile <<-ACCESS
6
- TOP_LEVEL_CONSTANT = 0
7
-
8
- def a_top_level_function
9
- end
10
-
11
- task :default => [:work, :obj, :const]
12
-
13
- task :work do
14
- begin
15
- a_top_level_function
16
- puts "GOOD:M Top level methods can be called in tasks"
17
- rescue NameError => ex
18
- puts "BAD:M Top level methods can not be called in tasks"
19
- end
20
- end
21
-
22
- # TODO: remove `disabled_' when DeprecatedObjectDSL removed
23
- task :obj
24
- task :disabled_obj do
25
- begin
26
- Object.new.instance_eval { task :xyzzy }
27
- puts "BAD:D Rake DSL are polluting objects"
28
- rescue StandardError => ex
29
- puts "GOOD:D Rake DSL are not polluting objects"
30
- end
31
- end
32
-
33
- task :const do
34
- begin
35
- TOP_LEVEL_CONSTANT
36
- puts "GOOD:C Top level constants are available in tasks"
37
- rescue StandardError => ex
38
- puts "BAD:C Top level constants are NOT available in tasks"
39
- end
40
- end
41
- ACCESS
42
- end
43
-
44
- def rakefile_test_task
45
- rakefile <<-RAKEFILE
46
- require "rake/testtask"
47
-
48
- Rake::TestTask.new(:unit) do |t|
49
- t.description = "custom test task description"
50
- end
51
- RAKEFILE
52
- end
53
-
54
- def rakefile_chains
55
- rakefile <<-DEFAULT
56
- task :default => "play.app"
57
-
58
- file "play.scpt" => "base" do |t|
59
- cp t.prerequisites.first, t.name
60
- end
61
-
62
- rule ".app" => ".scpt" do |t|
63
- cp t.source, t.name
64
- end
65
-
66
- file 'base' do
67
- touch 'base'
68
- end
69
- DEFAULT
70
- end
71
-
72
- def rakefile_comments
73
- rakefile <<-COMMENTS
74
- # comment for t1
75
- task :t1 do
76
- end
77
-
78
- # no comment or task because there's a blank line
79
-
80
- task :t2 do
81
- end
82
-
83
- desc "override comment for t3"
84
- # this is not the description
85
- multitask :t3 do
86
- end
87
-
88
- # this is not the description
89
- desc "override comment for t4"
90
- file :t4 do
91
- end
92
- COMMENTS
93
- end
94
-
95
- def rakefile_default
96
- rakefile <<-DEFAULT
97
- if ENV['TESTTOPSCOPE']
98
- puts "TOPSCOPE"
99
- end
100
-
101
- task :default do
102
- puts "DEFAULT"
103
- end
104
-
105
- task :other => [:default] do
106
- puts "OTHER"
107
- end
108
-
109
- task :task_scope do
110
- if ENV['TESTTASKSCOPE']
111
- puts "TASKSCOPE"
112
- end
113
- end
114
- DEFAULT
115
- end
116
-
117
- def rakefile_dryrun
118
- rakefile <<-DRYRUN
119
- task :default => ["temp_main"]
120
-
121
- file "temp_main" => [:all_apps] do touch "temp_main" end
122
-
123
- task :all_apps => [:one, :two]
124
- task :one => ["temp_one"]
125
- task :two => ["temp_two"]
126
-
127
- file "temp_one" do |t|
128
- touch "temp_one"
129
- end
130
- file "temp_two" do |t|
131
- touch "temp_two"
132
- end
133
-
134
- task :clean do
135
- ["temp_one", "temp_two", "temp_main"].each do |file|
136
- rm_f file
137
- end
138
- end
139
- DRYRUN
140
-
141
- FileUtils.touch 'temp_main'
142
- FileUtils.touch 'temp_two'
143
- end
144
-
145
- def rakefile_extra
146
- rakefile 'task :default'
147
-
148
- FileUtils.mkdir_p 'rakelib'
149
-
150
- open File.join('rakelib', 'extra.rake'), 'w' do |io|
151
- io << <<-EXTRA_RAKE
152
- # Added for testing
153
-
154
- namespace :extra do
155
- desc "An Extra Task"
156
- task :extra do
157
- puts "Read all about it"
158
- end
159
- end
160
- EXTRA_RAKE
161
- end
162
- end
163
-
164
- def rakefile_file_creation
165
- rakefile <<-'FILE_CREATION'
166
- N = 2
167
-
168
- task :default => :run
169
-
170
- BUILD_DIR = 'build'
171
- task :clean do
172
- rm_rf 'build'
173
- rm_rf 'src'
174
- end
175
-
176
- task :run
177
-
178
- TARGET_DIR = 'build/copies'
179
-
180
- FileList['src/*'].each do |src|
181
- directory TARGET_DIR
182
- target = File.join TARGET_DIR, File.basename(src)
183
- file target => [src, TARGET_DIR] do
184
- cp src, target
185
- end
186
- task :run => target
187
- end
188
-
189
- task :prep => :clean do
190
- mkdir_p 'src'
191
- N.times do |n|
192
- touch "src/foo#{n}"
193
- end
194
- end
195
- FILE_CREATION
196
- end
197
-
198
- def rakefile_imports
199
- rakefile <<-IMPORTS
200
- require 'rake/loaders/makefile'
201
-
202
- task :default
203
-
204
- task :other do
205
- puts "OTHER"
206
- end
207
-
208
- file "dynamic_deps" do |t|
209
- open(t.name, "w") do |f| f.puts "puts 'DYNAMIC'" end
210
- end
211
-
212
- import "dynamic_deps"
213
- import "static_deps"
214
- import "static_deps"
215
- import "deps.mf"
216
- puts "FIRST"
217
- IMPORTS
218
-
219
- open 'deps.mf', 'w' do |io|
220
- io << <<-DEPS
221
- default: other
222
- DEPS
223
- end
224
-
225
- open "static_deps", "w" do |f|
226
- f.puts 'puts "STATIC"'
227
- end
228
- end
229
-
230
- def rakefile_regenerate_imports
231
- rakefile <<-REGENERATE_IMPORTS
232
- task :default
233
-
234
- task :regenerate do
235
- open("deps", "w") do |f|
236
- f << <<-CONTENT
237
- file "deps" => :regenerate
238
- puts "REGENERATED"
239
- CONTENT
240
- end
241
- end
242
-
243
- import "deps"
244
- REGENERATE_IMPORTS
245
-
246
- open "deps", "w" do |f|
247
- f << <<-CONTENT
248
- file "deps" => :regenerate
249
- puts "INITIAL"
250
- CONTENT
251
- end
252
- end
253
-
254
- def rakefile_multidesc
255
- rakefile <<-MULTIDESC
256
- task :b
257
-
258
- desc "A"
259
- task :a
260
-
261
- desc "B"
262
- task :b
263
-
264
- desc "A2"
265
- task :a
266
-
267
- task :c
268
-
269
- desc "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
270
- task :d
271
- MULTIDESC
272
- end
273
-
274
- def rakefile_namespace
275
- rakefile <<-NAMESPACE
276
- desc "copy"
277
- task :copy do
278
- puts "COPY"
279
- end
280
-
281
- namespace "nest" do
282
- desc "nest copy"
283
- task :copy do
284
- puts "NEST COPY"
285
- end
286
- task :xx => :copy
287
- end
288
-
289
- anon_ns = namespace do
290
- desc "anonymous copy task"
291
- task :copy do
292
- puts "ANON COPY"
293
- end
294
- end
295
-
296
- desc "Top level task to run the anonymous version of copy"
297
- task :anon => anon_ns[:copy]
298
-
299
- namespace "very" do
300
- namespace "nested" do
301
- task "run" => "rake:copy"
302
- end
303
- end
304
-
305
- namespace "a" do
306
- desc "Run task in the 'a' namespace"
307
- task "run" do
308
- puts "IN A"
309
- end
310
- end
311
-
312
- namespace "b" do
313
- desc "Run task in the 'b' namespace"
314
- task "run" => "a:run" do
315
- puts "IN B"
316
- end
317
- end
318
-
319
- namespace "file1" do
320
- file "xyz.rb" do
321
- puts "XYZ1"
322
- end
323
- end
324
-
325
- namespace "file2" do
326
- file "xyz.rb" do
327
- puts "XYZ2"
328
- end
329
- end
330
-
331
- namespace "scopedep" do
332
- task :prepare do
333
- touch "scopedep.rb"
334
- puts "PREPARE"
335
- end
336
- file "scopedep.rb" => [:prepare] do
337
- puts "SCOPEDEP"
338
- end
339
- end
340
- NAMESPACE
341
- end
342
-
343
- def rakefile_nosearch
344
- FileUtils.touch 'dummy'
345
- end
346
-
347
- def rakefile_rakelib
348
- FileUtils.mkdir_p 'rakelib'
349
-
350
- Dir.chdir 'rakelib' do
351
- open 'test1.rb', 'w' do |io|
352
- io << <<-TEST1
353
- task :default do
354
- puts "TEST1"
355
- end
356
- TEST1
357
- end
358
-
359
- open 'test2.rake', 'w' do |io|
360
- io << <<-TEST1
361
- task :default do
362
- puts "TEST2"
363
- end
364
- TEST1
365
- end
366
- end
367
- end
368
-
369
- def rakefile_rbext
370
- open 'rakefile.rb', 'w' do |io|
371
- io << 'task :default do puts "OK" end'
372
- end
373
- end
374
-
375
- def rakefile_unittest
376
- rakefile '# Empty Rakefile for Unit Test'
377
-
378
- readme = File.join 'subdir', 'README'
379
- FileUtils.mkdir_p File.dirname readme
380
-
381
- FileUtils.touch readme
382
- end
383
-
384
- def rakefile_verbose
385
- rakefile <<-VERBOSE
386
- task :standalone_verbose_true do
387
- verbose true
388
- sh "#{RUBY} -e '0'"
389
- end
390
-
391
- task :standalone_verbose_false do
392
- verbose false
393
- sh "#{RUBY} -e '0'"
394
- end
395
-
396
- task :inline_verbose_default do
397
- sh "#{RUBY} -e '0'"
398
- end
399
-
400
- task :inline_verbose_false do
401
- sh "#{RUBY} -e '0'", :verbose => false
402
- end
403
-
404
- task :inline_verbose_true do
405
- sh "#{RUBY} -e '0'", :verbose => true
406
- end
407
-
408
- task :block_verbose_true do
409
- verbose(true) do
410
- sh "#{RUBY} -e '0'"
411
- end
412
- end
413
-
414
- task :block_verbose_false do
415
- verbose(false) do
416
- sh "#{RUBY} -e '0'"
417
- end
418
- end
419
- VERBOSE
420
- end
421
-
422
- def rakefile_test_signal
423
- rakefile <<-TEST_SIGNAL
424
- require 'rake/testtask'
425
-
426
- Rake::TestTask.new(:a) do |t|
427
- t.test_files = ['a_test.rb']
428
- end
429
-
430
- Rake::TestTask.new(:b) do |t|
431
- t.test_files = ['b_test.rb']
432
- end
433
-
434
- task :test do
435
- Rake::Task[:a].invoke
436
- Rake::Task[:b].invoke
437
- end
438
-
439
- task :default => :test
440
- TEST_SIGNAL
441
- open 'a_test.rb', 'w' do |io|
442
- io << 'puts "ATEST"' << "\n"
443
- io << '$stdout.flush' << "\n"
444
- io << 'Process.kill("TERM", $$)' << "\n"
445
- end
446
- open 'b_test.rb', 'w' do |io|
447
- io << 'puts "BTEST"' << "\n"
448
- io << '$stdout.flush' << "\n"
449
- end
450
- end
451
-
452
- def rakefile_failing_test_task
453
- rakefile <<-TEST_TASK
454
- require 'rake/testtask'
455
-
456
- task :default => :test
457
- Rake::TestTask.new(:test) do |t|
458
- t.test_files = ['a_test.rb']
459
- end
460
- TEST_TASK
461
- open 'a_test.rb', 'w' do |io|
462
- io << "require 'minitest/autorun'\n"
463
- io << "class ExitTaskTest < Minitest::Test\n"
464
- io << " def test_exit\n"
465
- io << " assert false, 'this should fail'\n"
466
- io << " end\n"
467
- io << "end\n"
468
- end
469
- end
470
-
471
- def rakefile_stand_alone_filelist
472
- open 'stand_alone_filelist.rb', 'w' do |io|
473
- io << "require 'rake/file_list'\n"
474
- io << "FL = Rake::FileList['*.rb']\n"
475
- io << "puts FL\n"
476
- end
477
- end
478
- end
@@ -1,34 +0,0 @@
1
- module RubyRunner
2
- include FileUtils
3
-
4
- # Run a shell Ruby command with command line options (using the
5
- # default test options). Output is captured in @out and @err
6
- def ruby(*option_list)
7
- run_ruby(@ruby_options + option_list)
8
- end
9
-
10
- # Run a command line rake with the give rake options. Default
11
- # command line ruby options are included. Output is captured in
12
- # @out and @err
13
- def rake(*rake_options)
14
- run_ruby @ruby_options + [@rake_exec] + rake_options
15
- end
16
-
17
- # Low level ruby command runner ...
18
- def run_ruby(option_list)
19
- puts "COMMAND: [#{RUBY} #{option_list.join ' '}]" if @verbose
20
-
21
- Open3.popen3(RUBY, *option_list) {|inn, out, err, wait|
22
- inn.close
23
-
24
- @exit = wait ? wait.value : $?
25
- @out = out.read
26
- @err = err.read
27
- }
28
-
29
- puts "OUTPUT: [#{@out}]" if @verbose
30
- puts "ERROR: [#{@err}]" if @verbose
31
- puts "EXIT: [#{@exit.inspect}]" if @verbose
32
- puts "PWD: [#{Dir.pwd}]" if @verbose
33
- end
34
- end
@@ -1,42 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'rake/private_reader'
3
-
4
- class TestPrivateAttrs < Rake::TestCase
5
-
6
- class Sample
7
- include Rake::PrivateReader
8
-
9
- private_reader :reader, :a
10
-
11
- def initialize
12
- @reader = :RVALUE
13
- end
14
-
15
- def get_reader
16
- reader
17
- end
18
-
19
- end
20
-
21
- def setup
22
- super
23
- @sample = Sample.new
24
- end
25
-
26
- def test_private_reader_is_private
27
- assert_private do @sample.reader end
28
- assert_private do @sample.a end
29
- end
30
-
31
- def test_private_reader_returns_data
32
- assert_equal :RVALUE, @sample.get_reader
33
- end
34
-
35
- private
36
-
37
- def assert_private
38
- ex = assert_raises(NoMethodError) do yield end
39
- assert_match(/private/, ex.message)
40
- end
41
-
42
- end