rake 10.5.0 → 13.0.1

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.
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