rake 0.9.2 → 13.0.3

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 +7 -0
  2. data/CONTRIBUTING.rdoc +43 -0
  3. data/Gemfile +10 -0
  4. data/History.rdoc +2386 -0
  5. data/MIT-LICENSE +1 -1
  6. data/README.rdoc +64 -109
  7. data/Rakefile +22 -386
  8. data/bin/bundle +105 -0
  9. data/bin/console +7 -0
  10. data/bin/rake +20 -23
  11. data/bin/rdoc +29 -0
  12. data/bin/rubocop +29 -0
  13. data/bin/setup +6 -0
  14. data/doc/command_line_usage.rdoc +65 -21
  15. data/doc/glossary.rdoc +40 -49
  16. data/doc/jamis.rb +1 -0
  17. data/doc/rake.1 +156 -0
  18. data/doc/rakefile.rdoc +127 -62
  19. data/exe/rake +27 -0
  20. data/lib/rake.rb +37 -31
  21. data/lib/rake/application.rb +507 -272
  22. data/lib/rake/backtrace.rb +24 -0
  23. data/lib/rake/clean.rb +55 -8
  24. data/lib/rake/cloneable.rb +11 -19
  25. data/lib/rake/cpu_counter.rb +107 -0
  26. data/lib/rake/default_loader.rb +5 -0
  27. data/lib/rake/dsl_definition.rb +74 -46
  28. data/lib/rake/early_time.rb +5 -1
  29. data/lib/rake/ext/core.rb +5 -6
  30. data/lib/rake/ext/string.rb +61 -52
  31. data/lib/rake/file_creation_task.rb +4 -3
  32. data/lib/rake/file_list.rb +81 -49
  33. data/lib/rake/file_task.rb +15 -8
  34. data/lib/rake/file_utils.rb +69 -47
  35. data/lib/rake/file_utils_ext.rb +18 -26
  36. data/lib/rake/invocation_chain.rb +25 -19
  37. data/lib/rake/invocation_exception_mixin.rb +1 -0
  38. data/lib/rake/late_time.rb +18 -0
  39. data/lib/rake/linked_list.rb +112 -0
  40. data/lib/rake/loaders/makefile.rb +23 -9
  41. data/lib/rake/multi_task.rb +4 -6
  42. data/lib/rake/name_space.rb +36 -23
  43. data/lib/rake/packagetask.rb +71 -34
  44. data/lib/rake/phony.rb +16 -0
  45. data/lib/rake/private_reader.rb +21 -0
  46. data/lib/rake/promise.rb +100 -0
  47. data/lib/rake/pseudo_status.rb +8 -2
  48. data/lib/rake/rake_module.rb +41 -3
  49. data/lib/rake/rake_test_loader.rb +21 -7
  50. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  51. data/lib/rake/scope.rb +43 -0
  52. data/lib/rake/task.rb +186 -79
  53. data/lib/rake/task_argument_error.rb +1 -0
  54. data/lib/rake/task_arguments.rb +50 -15
  55. data/lib/rake/task_manager.rb +89 -65
  56. data/lib/rake/tasklib.rb +2 -12
  57. data/lib/rake/testtask.rb +61 -63
  58. data/lib/rake/thread_history_display.rb +49 -0
  59. data/lib/rake/thread_pool.rb +163 -0
  60. data/lib/rake/trace_output.rb +23 -0
  61. data/lib/rake/version.rb +7 -7
  62. data/lib/rake/win32.rb +14 -18
  63. data/rake.gemspec +43 -0
  64. metadata +82 -221
  65. data/.gemtest +0 -0
  66. data/CHANGES +0 -509
  67. data/RRR +0 -9
  68. data/TODO +0 -20
  69. data/doc/rake.1.gz +0 -0
  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 -55
  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.rdoc +0 -49
  90. data/install.rb +0 -90
  91. data/lib/rake/alt_system.rb +0 -109
  92. data/lib/rake/classic_namespace.rb +0 -9
  93. data/lib/rake/contrib/compositepublisher.rb +0 -21
  94. data/lib/rake/contrib/ftptools.rb +0 -150
  95. data/lib/rake/contrib/publisher.rb +0 -69
  96. data/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  97. data/lib/rake/contrib/sshpublisher.rb +0 -45
  98. data/lib/rake/contrib/sys.rb +0 -191
  99. data/lib/rake/ext/module.rb +0 -39
  100. data/lib/rake/ext/time.rb +0 -14
  101. data/lib/rake/gempackagetask.rb +0 -13
  102. data/lib/rake/pathmap.rb +0 -1
  103. data/lib/rake/rdoctask.rb +0 -230
  104. data/lib/rake/ruby182_test_unit_fix.rb +0 -25
  105. data/lib/rake/runtest.rb +0 -21
  106. data/test/check_expansion.rb +0 -5
  107. data/test/check_no_expansion.rb +0 -5
  108. data/test/data/access/Rakefile +0 -35
  109. data/test/data/chains/Rakefile +0 -15
  110. data/test/data/comments/Rakefile +0 -18
  111. data/test/data/default/Rakefile +0 -17
  112. data/test/data/deprecated_import/Rakefile +0 -1
  113. data/test/data/dryrun/Rakefile +0 -22
  114. data/test/data/extra/Rakefile +0 -1
  115. data/test/data/file_creation_task/Rakefile +0 -31
  116. data/test/data/imports/Rakefile +0 -19
  117. data/test/data/imports/deps.mf +0 -1
  118. data/test/data/multidesc/Rakefile +0 -15
  119. data/test/data/namespace/Rakefile +0 -64
  120. data/test/data/rakelib/test1.rb +0 -4
  121. data/test/data/rbext/rakefile.rb +0 -3
  122. data/test/data/sample.mf +0 -14
  123. data/test/data/statusreturn/Rakefile +0 -6
  124. data/test/data/unittest/Rakefile +0 -1
  125. data/test/data/verbose/Rakefile +0 -34
  126. data/test/file_creation.rb +0 -34
  127. data/test/helper.rb +0 -44
  128. data/test/in_environment.rb +0 -35
  129. data/test/reqfile.rb +0 -3
  130. data/test/reqfile2.rb +0 -3
  131. data/test/shellcommand.rb +0 -3
  132. data/test/test_rake.rb +0 -38
  133. data/test/test_rake_application.rb +0 -364
  134. data/test/test_rake_application_options.rb +0 -382
  135. data/test/test_rake_clean.rb +0 -12
  136. data/test/test_rake_definitions.rb +0 -80
  137. data/test/test_rake_directory_task.rb +0 -55
  138. data/test/test_rake_dsl.rb +0 -73
  139. data/test/test_rake_early_time.rb +0 -31
  140. data/test/test_rake_extension.rb +0 -59
  141. data/test/test_rake_file_creation_task.rb +0 -62
  142. data/test/test_rake_file_list.rb +0 -633
  143. data/test/test_rake_file_list_path_map.rb +0 -8
  144. data/test/test_rake_file_task.rb +0 -104
  145. data/test/test_rake_file_utils.rb +0 -252
  146. data/test/test_rake_ftp_file.rb +0 -59
  147. data/test/test_rake_functional.rb +0 -468
  148. data/test/test_rake_invocation_chain.rb +0 -52
  149. data/test/test_rake_makefile_loader.rb +0 -23
  150. data/test/test_rake_multi_task.rb +0 -51
  151. data/test/test_rake_name_space.rb +0 -43
  152. data/test/test_rake_package_task.rb +0 -78
  153. data/test/test_rake_path_map.rb +0 -157
  154. data/test/test_rake_path_map_explode.rb +0 -31
  155. data/test/test_rake_path_map_partial.rb +0 -18
  156. data/test/test_rake_pseudo_status.rb +0 -20
  157. data/test/test_rake_rdoc_task.rb +0 -81
  158. data/test/test_rake_require.rb +0 -35
  159. data/test/test_rake_rules.rb +0 -346
  160. data/test/test_rake_task.rb +0 -271
  161. data/test/test_rake_task_argument_parsing.rb +0 -116
  162. data/test/test_rake_task_arguments.rb +0 -86
  163. data/test/test_rake_task_lib.rb +0 -9
  164. data/test/test_rake_task_manager.rb +0 -145
  165. data/test/test_rake_task_manager_argument_resolution.rb +0 -36
  166. data/test/test_rake_task_with_arguments.rb +0 -162
  167. data/test/test_rake_test_task.rb +0 -122
  168. data/test/test_rake_top_level_functions.rb +0 -76
  169. data/test/test_rake_win32.rb +0 -83
  170. data/test/test_sys.rb +0 -20
@@ -1,9 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'rake/tasklib'
3
-
4
- class TestRakeTaskLib < Rake::TestCase
5
- def test_paste
6
- tl = Rake::TaskLib.new
7
- assert_equal :ab, tl.paste(:a, :b)
8
- end
9
- end
@@ -1,145 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeTaskManager < Rake::TestCase
4
-
5
- def setup
6
- super
7
-
8
- @tm = Rake::TestCase::TaskManager.new
9
- end
10
-
11
- def test_create_task_manager
12
- refute_nil @tm
13
- assert_equal [], @tm.tasks
14
- end
15
-
16
- def test_define_task
17
- t = @tm.define_task(Rake::Task, :t)
18
- assert_equal "t", t.name
19
- assert_equal @tm, t.application
20
- end
21
-
22
- def test_name_lookup
23
- t = @tm.define_task(Rake::Task, :t)
24
- assert_equal t, @tm[:t]
25
- end
26
-
27
- def test_namespace_task_create
28
- @tm.in_namespace("x") do
29
- t = @tm.define_task(Rake::Task, :t)
30
- assert_equal "x:t", t.name
31
- end
32
- assert_equal ["x:t"], @tm.tasks.collect { |t| t.name }
33
- end
34
-
35
- def test_anonymous_namespace
36
- anon_ns = @tm.in_namespace(nil) do
37
- t = @tm.define_task(Rake::Task, :t)
38
- assert_equal "_anon_1:t", t.name
39
- end
40
- task = anon_ns[:t]
41
- assert_equal "_anon_1:t", task.name
42
- end
43
-
44
- def test_create_filetask_in_namespace
45
- @tm.in_namespace("x") do
46
- t = @tm.define_task(Rake::FileTask, "fn")
47
- assert_equal "fn", t.name
48
- end
49
- assert_equal ["fn"], @tm.tasks.collect { |t| t.name }
50
- end
51
-
52
- def test_namespace_yields_same_namespace_as_returned
53
- yielded_namespace = nil
54
- returned_namespace = @tm.in_namespace("x") do |ns|
55
- yielded_namespace = ns
56
- end
57
- assert_equal returned_namespace, yielded_namespace
58
- end
59
-
60
- def test_name_lookup_with_implicit_file_tasks
61
- t = @tm["README.rdoc"]
62
- assert_equal "README.rdoc", t.name
63
- assert Rake::FileTask === t
64
- end
65
-
66
- def test_name_lookup_with_nonexistent_task
67
- assert_raises(RuntimeError) {
68
- @tm["DOES NOT EXIST"]
69
- }
70
- end
71
-
72
- def test_name_lookup_in_multiple_scopes
73
- aa = nil
74
- bb = nil
75
- xx = @tm.define_task(Rake::Task, :xx)
76
- top_z = @tm.define_task(Rake::Task, :z)
77
- @tm.in_namespace("a") do
78
- aa = @tm.define_task(Rake::Task, :aa)
79
- mid_z = @tm.define_task(Rake::Task, :z)
80
- @tm.in_namespace("b") do
81
- bb = @tm.define_task(Rake::Task, :bb)
82
- bot_z = @tm.define_task(Rake::Task, :z)
83
-
84
- assert_equal ["a", "b"], @tm.current_scope
85
-
86
- assert_equal bb, @tm["a:b:bb"]
87
- assert_equal aa, @tm["a:aa"]
88
- assert_equal xx, @tm["xx"]
89
- assert_equal bot_z, @tm["z"]
90
- assert_equal mid_z, @tm["^z"]
91
- assert_equal top_z, @tm["^^z"]
92
- assert_equal top_z, @tm["rake:z"]
93
- end
94
-
95
- assert_equal ["a"], @tm.current_scope
96
-
97
- assert_equal bb, @tm["a:b:bb"]
98
- assert_equal aa, @tm["a:aa"]
99
- assert_equal xx, @tm["xx"]
100
- assert_equal bb, @tm["b:bb"]
101
- assert_equal aa, @tm["aa"]
102
- assert_equal mid_z, @tm["z"]
103
- assert_equal top_z, @tm["^z"]
104
- assert_equal top_z, @tm["rake:z"]
105
- end
106
-
107
- assert_equal [], @tm.current_scope
108
-
109
- assert_equal [], xx.scope
110
- assert_equal ['a'], aa.scope
111
- assert_equal ['a', 'b'], bb.scope
112
- end
113
-
114
- def test_lookup_with_explicit_scopes
115
- t1, t2, t3, s = (0...4).collect { nil }
116
- t1 = @tm.define_task(Rake::Task, :t)
117
- @tm.in_namespace("a") do
118
- t2 = @tm.define_task(Rake::Task, :t)
119
- s = @tm.define_task(Rake::Task, :s)
120
- @tm.in_namespace("b") do
121
- t3 = @tm.define_task(Rake::Task, :t)
122
- end
123
- end
124
- assert_equal t1, @tm[:t, []]
125
- assert_equal t2, @tm[:t, ["a"]]
126
- assert_equal t3, @tm[:t, ["a", "b"]]
127
- assert_equal s, @tm[:s, ["a", "b"]]
128
- assert_equal s, @tm[:s, ["a"]]
129
- end
130
-
131
- def test_correctly_scoped_prerequisites_are_invoked
132
- values = []
133
- @tm = Rake::Application.new
134
- @tm.define_task(Rake::Task, :z) do values << "top z" end
135
- @tm.in_namespace("a") do
136
- @tm.define_task(Rake::Task, :z) do values << "next z" end
137
- @tm.define_task(Rake::Task, :x => :z)
138
- end
139
-
140
- @tm["a:x"].invoke
141
- assert_equal ["next z"], values
142
- end
143
-
144
- end
145
-
@@ -1,36 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeTaskManagerArgumentResolution < Rake::TestCase
4
-
5
- def setup
6
- super
7
-
8
- Rake.application.options.ignore_deprecate = true
9
- end
10
-
11
- def teardown
12
- Rake.application.options.ignore_deprecate = false
13
-
14
- super
15
- end
16
-
17
- def test_good_arg_patterns
18
- assert_equal [:t, [], []], task(:t)
19
- assert_equal [:t, [], [:x]], task(:t => :x)
20
- assert_equal [:t, [], [:x, :y]], task(:t => [:x, :y])
21
-
22
- assert_equal [:t, [:a, :b], []], task(:t, :a, :b)
23
- assert_equal [:t, [], [:x]], task(:t, :needs => :x)
24
- assert_equal [:t, [:a, :b], [:x]], task(:t, :a, :b, :needs => :x)
25
- assert_equal [:t, [:a, :b], [:x, :y]], task(:t, :a, :b, :needs => [:x, :y])
26
-
27
- assert_equal [:t, [:a, :b], []], task(:t, [:a, :b])
28
- assert_equal [:t, [:a, :b], [:x]], task(:t, [:a, :b] => :x)
29
- assert_equal [:t, [:a, :b], [:x, :y]], task(:t, [:a, :b] => [:x, :y])
30
- end
31
-
32
- def task(*args)
33
- tm = Rake::TestCase::TaskManager.new
34
- tm.resolve_args(args)
35
- end
36
- end
@@ -1,162 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeTaskWithArguments < Rake::TestCase
4
- include Rake
5
-
6
- def setup
7
- super
8
-
9
- Task.clear
10
- Rake::TaskManager.record_task_metadata = true
11
- end
12
-
13
- def teardown
14
- Rake::TaskManager.record_task_metadata = false
15
-
16
- super
17
- end
18
-
19
- def test_no_args_given
20
- t = task :t
21
- assert_equal [], t.arg_names
22
- end
23
-
24
- def test_args_given
25
- t = task :t, :a, :b
26
- assert_equal [:a, :b], t.arg_names
27
- end
28
-
29
- def test_name_and_needs
30
- t = task(:t => [:pre])
31
- assert_equal "t", t.name
32
- assert_equal [], t.arg_names
33
- assert_equal ["pre"], t.prerequisites
34
- end
35
-
36
- def test_name_args_and_explicit_needs
37
- ignore_deprecations do
38
- t = task(:t, :x, :y, :needs => [:pre])
39
- assert_equal "t", t.name
40
- assert_equal [:x, :y], t.arg_names
41
- assert_equal ["pre"], t.prerequisites
42
- end
43
- end
44
-
45
- def test_illegal_keys_in_task_name_hash
46
- ignore_deprecations do
47
- assert_raises RuntimeError do
48
- t = task(:t, :x, :y => 1, :needs => [:pre])
49
- end
50
- end
51
- end
52
-
53
- def test_arg_list_is_empty_if_no_args_given
54
- t = task(:t) { |tt, args| assert_equal({}, args.to_hash) }
55
- t.invoke(1, 2, 3)
56
- end
57
-
58
- def test_tasks_can_access_arguments_as_hash
59
- t = task :t, :a, :b, :c do |tt, args|
60
- assert_equal({:a => 1, :b => 2, :c => 3}, args.to_hash)
61
- assert_equal 1, args[:a]
62
- assert_equal 2, args[:b]
63
- assert_equal 3, args[:c]
64
- assert_equal 1, args.a
65
- assert_equal 2, args.b
66
- assert_equal 3, args.c
67
- end
68
- t.invoke(1, 2, 3)
69
- end
70
-
71
- def test_actions_of_various_arity_are_ok_with_args
72
- notes = []
73
- t = task(:t, :x) do
74
- notes << :a
75
- end
76
- t.enhance do | |
77
- notes << :b
78
- end
79
- t.enhance do |task|
80
- notes << :c
81
- assert_kind_of Task, task
82
- end
83
- t.enhance do |t2, args|
84
- notes << :d
85
- assert_equal t, t2
86
- assert_equal({:x => 1}, args.to_hash)
87
- end
88
- t.invoke(1)
89
- assert_equal [:a, :b, :c, :d], notes
90
- end
91
-
92
- def test_arguments_are_passed_to_block
93
- t = task(:t, :a, :b) { |tt, args|
94
- assert_equal( { :a => 1, :b => 2 }, args.to_hash )
95
- }
96
- t.invoke(1, 2)
97
- end
98
-
99
- def test_extra_parameters_are_ignored
100
- t = task(:t, :a) { |tt, args|
101
- assert_equal 1, args.a
102
- assert_nil args.b
103
- }
104
- t.invoke(1, 2)
105
- end
106
-
107
- def test_arguments_are_passed_to_all_blocks
108
- counter = 0
109
- t = task :t, :a
110
- task :t do |tt, args|
111
- assert_equal 1, args.a
112
- counter += 1
113
- end
114
- task :t do |tt, args|
115
- assert_equal 1, args.a
116
- counter += 1
117
- end
118
- t.invoke(1)
119
- assert_equal 2, counter
120
- end
121
-
122
- def test_block_with_no_parameters_is_ok
123
- t = task(:t) { }
124
- t.invoke(1, 2)
125
- end
126
-
127
- def test_name_with_args
128
- desc "T"
129
- t = task(:tt, :a, :b)
130
- assert_equal "tt", t.name
131
- assert_equal "T", t.comment
132
- assert_equal "[a,b]", t.arg_description
133
- assert_equal "tt[a,b]", t.name_with_args
134
- assert_equal [:a, :b],t.arg_names
135
- end
136
-
137
- def test_named_args_are_passed_to_prereqs
138
- value = nil
139
- pre = task(:pre, :rev) { |t, args| value = args.rev }
140
- t = task(:t, [:name, :rev] => [:pre])
141
- t.invoke("bill", "1.2")
142
- assert_equal "1.2", value
143
- end
144
-
145
- def test_args_not_passed_if_no_prereq_names
146
- pre = task(:pre) { |t, args|
147
- assert_equal({}, args.to_hash)
148
- assert_equal "bill", args.name
149
- }
150
- t = task(:t, [:name, :rev] => [:pre])
151
- t.invoke("bill", "1.2")
152
- end
153
-
154
- def test_args_not_passed_if_no_arg_names
155
- pre = task(:pre, :rev) { |t, args|
156
- assert_equal({}, args.to_hash)
157
- }
158
- t = task(:t => [:pre])
159
- t.invoke("bill", "1.2")
160
- end
161
- end
162
-
@@ -1,122 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- require 'rake/testtask'
3
-
4
- class TestRakeTestTask < Rake::TestCase
5
- include Rake
6
-
7
- def setup
8
- super
9
-
10
- Task.clear
11
- ENV.delete('TEST')
12
- end
13
-
14
- def teardown
15
- FileUtils.rm_rf("testdata")
16
-
17
- super
18
- end
19
-
20
- def test_no_task
21
- assert ! Task.task_defined?(:test)
22
- end
23
-
24
- def test_defaults
25
- tt = Rake::TestTask.new do |t| end
26
- refute_nil tt
27
- assert_equal :test, tt.name
28
- assert_equal ['lib'], tt.libs
29
- assert_equal 'test/test*.rb', tt.pattern
30
- assert_equal false, tt.verbose
31
- assert Task.task_defined?(:test)
32
- end
33
-
34
- def test_non_defaults
35
- tt = Rake::TestTask.new(:example) do |t|
36
- t.libs = ['src', 'ext']
37
- t.pattern = 'test/tc_*.rb'
38
- t.verbose = true
39
- end
40
- refute_nil tt
41
- assert_equal :example, tt.name
42
- assert_equal ['src', 'ext'], tt.libs
43
- assert_equal 'test/tc_*.rb', tt.pattern
44
- assert_equal true, tt.verbose
45
- assert Task.task_defined?(:example)
46
- end
47
-
48
- def test_pattern
49
- tt = Rake::TestTask.new do |t|
50
- t.pattern = '*.rb'
51
- end
52
- assert_equal ['*.rb'], tt.file_list.to_a
53
- end
54
-
55
- def test_env_test
56
- ENV['TEST'] = 'testfile.rb'
57
- tt = Rake::TestTask.new do |t|
58
- t.pattern = '*'
59
- end
60
- assert_equal ["testfile.rb"], tt.file_list.to_a
61
- end
62
-
63
- def test_test_files
64
- tt = Rake::TestTask.new do |t|
65
- t.test_files = FileList['a.rb', 'b.rb']
66
- end
67
- assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a
68
- end
69
-
70
- def test_both_pattern_and_test_files
71
- tt = Rake::TestTask.new do |t|
72
- t.test_files = FileList['a.rb', 'b.rb']
73
- t.pattern = '*.rb'
74
- end
75
- assert_equal ['a.rb', 'b.rb', '*.rb'], tt.file_list.to_a
76
- end
77
-
78
- def test_direct_run_has_quoted_paths
79
- test_task = Rake::TestTask.new(:tx) do |t|
80
- t.loader = :direct
81
- end
82
- assert_match(/-e ".*"/, test_task.run_code)
83
- end
84
-
85
- def test_testrb_run_has_quoted_paths_on_ruby_182
86
- test_task = Rake::TestTask.new(:tx) do |t|
87
- t.loader = :testrb
88
- end
89
- flexmock(test_task).should_receive(:ruby_version).and_return('1.8.2')
90
- assert_match(/^-S testrb +".*"$/, test_task.run_code)
91
- end
92
-
93
- def test_testrb_run_has_quoted_paths_on_ruby_186
94
- test_task = Rake::TestTask.new(:tx) do |t|
95
- t.loader = :testrb
96
- end
97
- flexmock(test_task).should_receive(:ruby_version).and_return('1.8.6')
98
- assert_match(/^-S testrb +$/, test_task.run_code)
99
- end
100
-
101
- def test_rake_run_has_quoted_paths
102
- test_task = Rake::TestTask.new(:tx) do |t|
103
- t.loader = :rake
104
- end
105
- assert_match(/".*"/, test_task.run_code)
106
- end
107
-
108
- def test_nested_libs_will_be_flattened
109
- test_task = Rake::TestTask.new(:tx) do |t|
110
- t.libs << ["A", "B"]
111
- end
112
- sep = File::PATH_SEPARATOR
113
- assert_match(/lib#{sep}A#{sep}B/, test_task.ruby_opts_string)
114
- end
115
-
116
- def test_empty_lib_path_implies_no_dash_I_option
117
- test_task = Rake::TestTask.new(:tx) do |t|
118
- t.libs = []
119
- end
120
- refute_match(/-I/, test_task.ruby_opts_string)
121
- end
122
- end