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.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/History.rdoc +2403 -0
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +64 -106
  5. data/doc/command_line_usage.rdoc +65 -21
  6. data/doc/glossary.rdoc +40 -49
  7. data/doc/jamis.rb +1 -0
  8. data/doc/rake.1 +156 -0
  9. data/doc/rakefile.rdoc +127 -62
  10. data/{bin → exe}/rake +1 -7
  11. data/lib/rake/application.rb +507 -271
  12. data/lib/rake/backtrace.rb +24 -0
  13. data/lib/rake/clean.rb +54 -8
  14. data/lib/rake/cloneable.rb +11 -19
  15. data/lib/rake/cpu_counter.rb +107 -0
  16. data/lib/rake/default_loader.rb +5 -0
  17. data/lib/rake/dsl_definition.rb +67 -48
  18. data/lib/rake/early_time.rb +5 -1
  19. data/lib/rake/ext/core.rb +5 -6
  20. data/lib/rake/ext/string.rb +61 -52
  21. data/lib/rake/file_creation_task.rb +4 -3
  22. data/lib/rake/file_list.rb +81 -49
  23. data/lib/rake/file_task.rb +15 -8
  24. data/lib/rake/file_utils.rb +63 -43
  25. data/lib/rake/file_utils_ext.rb +14 -25
  26. data/lib/rake/invocation_chain.rb +25 -19
  27. data/lib/rake/invocation_exception_mixin.rb +1 -0
  28. data/lib/rake/late_time.rb +18 -0
  29. data/lib/rake/linked_list.rb +112 -0
  30. data/lib/rake/loaders/makefile.rb +23 -9
  31. data/lib/rake/multi_task.rb +4 -6
  32. data/lib/rake/name_space.rb +36 -23
  33. data/lib/rake/packagetask.rb +71 -34
  34. data/lib/rake/phony.rb +16 -0
  35. data/lib/rake/private_reader.rb +21 -0
  36. data/lib/rake/promise.rb +100 -0
  37. data/lib/rake/pseudo_status.rb +8 -2
  38. data/lib/rake/rake_module.rb +41 -3
  39. data/lib/rake/rake_test_loader.rb +9 -4
  40. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  41. data/lib/rake/scope.rb +43 -0
  42. data/lib/rake/task.rb +186 -79
  43. data/lib/rake/task_argument_error.rb +1 -0
  44. data/lib/rake/task_arguments.rb +46 -15
  45. data/lib/rake/task_manager.rb +91 -67
  46. data/lib/rake/tasklib.rb +2 -12
  47. data/lib/rake/testtask.rb +61 -63
  48. data/lib/rake/thread_history_display.rb +49 -0
  49. data/lib/rake/thread_pool.rb +163 -0
  50. data/lib/rake/trace_output.rb +23 -0
  51. data/lib/rake/version.rb +5 -3
  52. data/lib/rake/win32.rb +14 -18
  53. data/lib/rake.rb +35 -33
  54. data/rake.gemspec +100 -0
  55. metadata +74 -176
  56. data/.gemtest +0 -0
  57. data/CHANGES +0 -522
  58. data/Rakefile +0 -369
  59. data/TODO +0 -20
  60. data/doc/rake.1.gz +0 -0
  61. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  62. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  63. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  64. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  65. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  66. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  67. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  68. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  69. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  70. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  71. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  72. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  73. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  74. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  75. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  76. data/doc/release_notes/rake-0.8.6.rdoc +0 -55
  77. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  78. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  79. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  80. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  81. data/install.rb +0 -90
  82. data/lib/rake/alt_system.rb +0 -109
  83. data/lib/rake/classic_namespace.rb +0 -11
  84. data/lib/rake/contrib/compositepublisher.rb +0 -21
  85. data/lib/rake/contrib/ftptools.rb +0 -150
  86. data/lib/rake/contrib/publisher.rb +0 -73
  87. data/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  88. data/lib/rake/contrib/sshpublisher.rb +0 -50
  89. data/lib/rake/contrib/sys.rb +0 -191
  90. data/lib/rake/ext/module.rb +0 -39
  91. data/lib/rake/ext/time.rb +0 -14
  92. data/lib/rake/gempackagetask.rb +0 -15
  93. data/lib/rake/pathmap.rb +0 -1
  94. data/lib/rake/rdoctask.rb +0 -234
  95. data/lib/rake/ruby182_test_unit_fix.rb +0 -25
  96. data/lib/rake/runtest.rb +0 -21
  97. data/test/file_creation.rb +0 -34
  98. data/test/helper.rb +0 -492
  99. data/test/test_rake.rb +0 -40
  100. data/test/test_rake_application.rb +0 -489
  101. data/test/test_rake_application_options.rb +0 -335
  102. data/test/test_rake_clean.rb +0 -14
  103. data/test/test_rake_definitions.rb +0 -80
  104. data/test/test_rake_directory_task.rb +0 -46
  105. data/test/test_rake_dsl.rb +0 -77
  106. data/test/test_rake_early_time.rb +0 -31
  107. data/test/test_rake_extension.rb +0 -59
  108. data/test/test_rake_file_creation_task.rb +0 -56
  109. data/test/test_rake_file_list.rb +0 -628
  110. data/test/test_rake_file_list_path_map.rb +0 -8
  111. data/test/test_rake_file_task.rb +0 -102
  112. data/test/test_rake_file_utils.rb +0 -305
  113. data/test/test_rake_ftp_file.rb +0 -59
  114. data/test/test_rake_functional.rb +0 -450
  115. data/test/test_rake_invocation_chain.rb +0 -52
  116. data/test/test_rake_makefile_loader.rb +0 -44
  117. data/test/test_rake_multi_task.rb +0 -51
  118. data/test/test_rake_name_space.rb +0 -43
  119. data/test/test_rake_package_task.rb +0 -79
  120. data/test/test_rake_path_map.rb +0 -157
  121. data/test/test_rake_path_map_explode.rb +0 -34
  122. data/test/test_rake_path_map_partial.rb +0 -18
  123. data/test/test_rake_pseudo_status.rb +0 -21
  124. data/test/test_rake_rake_test_loader.rb +0 -21
  125. data/test/test_rake_rdoc_task.rb +0 -83
  126. data/test/test_rake_require.rb +0 -40
  127. data/test/test_rake_rules.rb +0 -327
  128. data/test/test_rake_task.rb +0 -267
  129. data/test/test_rake_task_argument_parsing.rb +0 -103
  130. data/test/test_rake_task_arguments.rb +0 -88
  131. data/test/test_rake_task_lib.rb +0 -9
  132. data/test/test_rake_task_manager.rb +0 -157
  133. data/test/test_rake_task_manager_argument_resolution.rb +0 -36
  134. data/test/test_rake_task_with_arguments.rb +0 -173
  135. data/test/test_rake_test_task.rb +0 -120
  136. data/test/test_rake_top_level_functions.rb +0 -111
  137. data/test/test_rake_win32.rb +0 -72
  138. data/test/test_sys.rb +0 -20
@@ -1,157 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakePathMap < Rake::TestCase
4
-
5
- def test_returns_self_with_no_args
6
- assert_equal "abc.rb", "abc.rb".pathmap
7
- end
8
-
9
- def test_s_returns_file_separator
10
- sep = File::ALT_SEPARATOR || File::SEPARATOR
11
- assert_equal sep, "abc.rb".pathmap("%s")
12
- assert_equal sep, "".pathmap("%s")
13
- assert_equal "a#{sep}b", "a/b".pathmap("%d%s%f")
14
- end
15
-
16
- def test_f_returns_basename
17
- assert_equal "abc.rb", "abc.rb".pathmap("%f")
18
- assert_equal "abc.rb", "this/is/a/dir/abc.rb".pathmap("%f")
19
- assert_equal "abc.rb", "/this/is/a/dir/abc.rb".pathmap("%f")
20
- end
21
-
22
- def test_n_returns_basename_without_extension
23
- assert_equal "abc", "abc.rb".pathmap("%n")
24
- assert_equal "abc", "abc".pathmap("%n")
25
- assert_equal "abc", "this/is/a/dir/abc.rb".pathmap("%n")
26
- assert_equal "abc", "/this/is/a/dir/abc.rb".pathmap("%n")
27
- assert_equal "abc", "/this/is/a/dir/abc".pathmap("%n")
28
- end
29
-
30
- def test_d_returns_dirname
31
- assert_equal ".", "abc.rb".pathmap("%d")
32
- assert_equal "/", "/abc".pathmap("%d")
33
- assert_equal "this/is/a/dir", "this/is/a/dir/abc.rb".pathmap("%d")
34
- assert_equal "/this/is/a/dir", "/this/is/a/dir/abc.rb".pathmap("%d")
35
- end
36
-
37
- def test_9d_returns_partial_dirname
38
- assert_equal "this/is", "this/is/a/dir/abc.rb".pathmap("%2d")
39
- assert_equal "this", "this/is/a/dir/abc.rb".pathmap("%1d")
40
- assert_equal ".", "this/is/a/dir/abc.rb".pathmap("%0d")
41
- assert_equal "dir", "this/is/a/dir/abc.rb".pathmap("%-1d")
42
- assert_equal "a/dir", "this/is/a/dir/abc.rb".pathmap("%-2d")
43
- assert_equal "this/is/a/dir", "this/is/a/dir/abc.rb".pathmap("%100d")
44
- assert_equal "this/is/a/dir", "this/is/a/dir/abc.rb".pathmap("%-100d")
45
- end
46
-
47
- def test_x_returns_extension
48
- assert_equal "", "abc".pathmap("%x")
49
- assert_equal ".rb", "abc.rb".pathmap("%x")
50
- assert_equal ".rb", "abc.xyz.rb".pathmap("%x")
51
- assert_equal "", ".depends".pathmap("%x")
52
- assert_equal "", "dir/.depends".pathmap("%x")
53
- end
54
-
55
- def test_X_returns_everything_but_extension
56
- assert_equal "abc", "abc".pathmap("%X")
57
- assert_equal "abc", "abc.rb".pathmap("%X")
58
- assert_equal "abc.xyz", "abc.xyz.rb".pathmap("%X")
59
- assert_equal "ab.xyz", "ab.xyz.rb".pathmap("%X")
60
- assert_equal "a.xyz", "a.xyz.rb".pathmap("%X")
61
- assert_equal "abc", "abc.rb".pathmap("%X")
62
- assert_equal "ab", "ab.rb".pathmap("%X")
63
- assert_equal "a", "a.rb".pathmap("%X")
64
- assert_equal ".depends", ".depends".pathmap("%X")
65
- assert_equal "a/dir/.depends", "a/dir/.depends".pathmap("%X")
66
- assert_equal "/.depends", "/.depends".pathmap("%X")
67
- end
68
-
69
- def test_p_returns_entire_pathname
70
- assert_equal "abc.rb", "abc.rb".pathmap("%p")
71
- assert_equal "this/is/a/dir/abc.rb", "this/is/a/dir/abc.rb".pathmap("%p")
72
- assert_equal "/this/is/a/dir/abc.rb", "/this/is/a/dir/abc.rb".pathmap("%p")
73
- end
74
-
75
- def test_dash_returns_empty_string
76
- assert_equal "", "abc.rb".pathmap("%-")
77
- assert_equal "abc.rb", "abc.rb".pathmap("%X%-%x")
78
- end
79
-
80
- def test_percent_percent_returns_percent
81
- assert_equal "a%b", "".pathmap("a%%b")
82
- end
83
-
84
- def test_undefined_percent_causes_error
85
- assert_raises(ArgumentError) {
86
- "dir/abc.rb".pathmap("%z")
87
- }
88
- end
89
-
90
- def test_pattern_returns_substitutions
91
- assert_equal "bin/org/osb",
92
- "src/org/osb/Xyz.java".pathmap("%{src,bin}d")
93
- end
94
-
95
- def test_pattern_can_use_backreferences
96
- assert_equal "dir/hi/is", "dir/this/is".pathmap("%{t(hi)s,\\1}p")
97
- end
98
-
99
- def test_pattern_with_star_replacement_string_uses_block
100
- assert_equal "src/ORG/osb",
101
- "src/org/osb/Xyz.java".pathmap("%{/org,*}d") { |d| d.upcase }
102
- assert_equal "Xyz.java",
103
- "src/org/osb/Xyz.java".pathmap("%{.*,*}f") { |f| f.capitalize }
104
- end
105
-
106
- def test_pattern_with_no_replacement_nor_block_substitutes_empty_string
107
- assert_equal "bc.rb", "abc.rb".pathmap("%{a}f")
108
- end
109
-
110
- def test_pattern_works_with_certain_valid_operators
111
- assert_equal "dir/xbc.rb", "dir/abc.rb".pathmap("%{a,x}p")
112
- assert_equal "d1r", "dir/abc.rb".pathmap("%{i,1}d")
113
- assert_equal "xbc.rb", "dir/abc.rb".pathmap("%{a,x}f")
114
- assert_equal ".Rb", "dir/abc.rb".pathmap("%{r,R}x")
115
- assert_equal "xbc", "dir/abc.rb".pathmap("%{a,x}n")
116
- end
117
-
118
- def test_multiple_patterns
119
- assert_equal "this/is/b/directory/abc.rb",
120
- "this/is/a/dir/abc.rb".pathmap("%{a,b;dir,\\0ectory}p")
121
- end
122
-
123
- def test_partial_directory_selection_works_with_patterns
124
- assert_equal "this/is/a/long",
125
- "this/is/a/really/long/path/ok.rb".pathmap("%{/really/,/}5d")
126
- end
127
-
128
- def test_pattern_with_invalid_operator
129
- ex = assert_raises(ArgumentError) do
130
- "abc.xyz".pathmap("%{src,bin}z")
131
- end
132
- assert_match(/unknown.*pathmap.*spec.*z/i, ex.message)
133
- end
134
-
135
- def test_works_with_windows_separators
136
- if File::ALT_SEPARATOR
137
- assert_equal "abc", 'dir\abc.rb'.pathmap("%n")
138
- assert_equal 'this\is\a\dir',
139
- 'this\is\a\dir\abc.rb'.pathmap("%d")
140
- end
141
- end
142
-
143
- def test_complex_patterns
144
- sep = "".pathmap("%s")
145
- assert_equal "dir/abc.rb", "dir/abc.rb".pathmap("%d/%n%x")
146
- assert_equal "./abc.rb", "abc.rb".pathmap("%d/%n%x")
147
- assert_equal "Your file extension is '.rb'",
148
- "dir/abc.rb".pathmap("Your file extension is '%x'")
149
- assert_equal "bin/org/onstepback/proj/A.class",
150
- "src/org/onstepback/proj/A.java".pathmap("%{src,bin}d/%n.class")
151
- assert_equal "src_work/bin/org/onstepback/proj/A.class",
152
- "src_work/src/org/onstepback/proj/A.java".pathmap('%{\bsrc\b,bin}X.class')
153
- assert_equal ".depends.bak", ".depends".pathmap("%X.bak")
154
- assert_equal "d#{sep}a/b/c#{sep}file.txt", "a/b/c/d/file.txt".pathmap("%-1d%s%3d%s%f")
155
- end
156
- end
157
-
@@ -1,34 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakePathMapExplode < Rake::TestCase
4
- def setup
5
- super
6
-
7
- String.class_eval { public :pathmap_explode }
8
- end
9
-
10
- def teardown
11
- String.class_eval { protected :pathmap_explode }
12
-
13
- super
14
- end
15
-
16
- def test_explode
17
- assert_equal ['a'], 'a'.pathmap_explode
18
- assert_equal ['a', 'b'], 'a/b'.pathmap_explode
19
- assert_equal ['a', 'b', 'c'], 'a/b/c'.pathmap_explode
20
- assert_equal ['/', 'a'], '/a'.pathmap_explode
21
- assert_equal ['/', 'a', 'b'], '/a/b'.pathmap_explode
22
- assert_equal ['/', 'a', 'b', 'c'], '/a/b/c'.pathmap_explode
23
-
24
- if File::ALT_SEPARATOR
25
- assert_equal ['c:.', 'a'], 'c:a'.pathmap_explode
26
- assert_equal ['c:.', 'a', 'b'], 'c:a/b'.pathmap_explode
27
- assert_equal ['c:.', 'a', 'b', 'c'], 'c:a/b/c'.pathmap_explode
28
- assert_equal ['c:/', 'a'], 'c:/a'.pathmap_explode
29
- assert_equal ['c:/', 'a', 'b'], 'c:/a/b'.pathmap_explode
30
- assert_equal ['c:/', 'a', 'b', 'c'], 'c:/a/b/c'.pathmap_explode
31
- end
32
- end
33
- end
34
-
@@ -1,18 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakePathMapPartial < Rake::TestCase
4
- def test_pathmap_partial
5
- @path = "1/2/file"
6
- def @path.call(n)
7
- pathmap_partial(n)
8
- end
9
- assert_equal("1", @path.call(1))
10
- assert_equal("1/2", @path.call(2))
11
- assert_equal("1/2", @path.call(3))
12
- assert_equal(".", @path.call(0))
13
- assert_equal("2", @path.call(-1))
14
- assert_equal("1/2", @path.call(-2))
15
- assert_equal("1/2", @path.call(-3))
16
- end
17
- end
18
-
@@ -1,21 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakePseudoStatus < Rake::TestCase
4
- def test_with_zero_exit_status
5
- s = Rake::PseudoStatus.new
6
- assert_equal 0, s.exitstatus
7
- assert_equal 0, s.to_i
8
- assert_equal 0, s >> 8
9
- refute s.stopped?
10
- assert s.exited?
11
- end
12
-
13
- def test_with_99_exit_status
14
- s = Rake::PseudoStatus.new(99)
15
- assert_equal 99, s.exitstatus
16
- assert_equal 25344, s.to_i
17
- assert_equal 99, s >> 8
18
- refute s.stopped?
19
- assert s.exited?
20
- end
21
- end
@@ -1,21 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeRakeTestLoader < Rake::TestCase
4
-
5
- def test_pattern
6
- orig_LOADED_FEATURES = $:.dup
7
- FileUtils.touch 'foo.rb'
8
- FileUtils.touch 'test_a.rb'
9
- FileUtils.touch 'test_b.rb'
10
-
11
- ARGV.replace %w[foo.rb test_*.rb -v]
12
-
13
- load File.join(@orig_PWD, 'lib/rake/rake_test_loader.rb')
14
-
15
- assert_equal %w[-v], ARGV
16
- ensure
17
- $:.replace orig_LOADED_FEATURES
18
- end
19
-
20
- end
21
-
@@ -1,83 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
- begin
3
- old_stderr = $stderr
4
- dev_null = File.exist?('/dev/null') ? '/dev/null' : 'NUL'
5
- $stderr = open dev_null, 'w'
6
- require 'rake/rdoctask'
7
- ensure
8
- $stderr.close
9
- $stderr = old_stderr
10
- end
11
-
12
- class TestRakeRDocTask < Rake::TestCase
13
- include Rake
14
-
15
- def setup
16
- super
17
-
18
- Task.clear
19
- end
20
-
21
- def test_tasks_creation
22
- Rake::RDocTask.new
23
- assert Task[:rdoc]
24
- assert Task[:clobber_rdoc]
25
- assert Task[:rerdoc]
26
- end
27
-
28
- def test_tasks_creation_with_custom_name_symbol
29
- rd = Rake::RDocTask.new(:rdoc_dev)
30
- assert Task[:rdoc_dev]
31
- assert Task[:clobber_rdoc_dev]
32
- assert Task[:rerdoc_dev]
33
- assert_equal :rdoc_dev, rd.name
34
- end
35
-
36
- def test_tasks_creation_with_custom_name_string
37
- rd = Rake::RDocTask.new("rdoc_dev")
38
- assert Task[:rdoc_dev]
39
- assert Task[:clobber_rdoc_dev]
40
- assert Task[:rerdoc_dev]
41
- assert_equal "rdoc_dev", rd.name
42
- end
43
-
44
- def test_tasks_creation_with_custom_name_hash
45
- options = { :rdoc => "rdoc", :clobber_rdoc => "rdoc:clean", :rerdoc => "rdoc:force" }
46
- rd = Rake::RDocTask.new(options)
47
- assert Task[:"rdoc"]
48
- assert Task[:"rdoc:clean"]
49
- assert Task[:"rdoc:force"]
50
- assert_raises(RuntimeError) { Task[:clobber_rdoc] }
51
- assert_equal options, rd.name
52
- end
53
-
54
- def test_tasks_creation_with_custom_name_hash_will_use_default_if_an_option_isnt_given
55
- Rake::RDocTask.new(:clobber_rdoc => "rdoc:clean")
56
- assert Task[:rdoc]
57
- assert Task[:"rdoc:clean"]
58
- assert Task[:rerdoc]
59
- end
60
-
61
- def test_tasks_creation_with_custom_name_hash_raises_exception_if_invalid_option_given
62
- assert_raises(ArgumentError) do
63
- Rake::RDocTask.new(:foo => "bar")
64
- end
65
-
66
- begin
67
- Rake::RDocTask.new(:foo => "bar")
68
- rescue ArgumentError => e
69
- assert_match(/foo/, e.message)
70
- end
71
- end
72
-
73
- def test_inline_source_option_is_only_appended_if_option_not_already_given
74
- rd = Rake::RDocTask.new
75
- rd.options << '--inline-source'
76
- assert_equal 1, rd.option_list.grep('--inline-source').size
77
-
78
- rd = Rake::RDocTask.new
79
- rd.options << '-S'
80
- assert_equal 1, rd.option_list.grep('-S').size
81
- assert_equal 0, rd.option_list.grep('--inline-source').size
82
- end
83
- end
@@ -1,40 +0,0 @@
1
- require File.expand_path('../helper', __FILE__)
2
-
3
- class TestRakeRequire < Rake::TestCase
4
-
5
- def test_can_load_rake_library
6
- rakefile_rakelib
7
- app = Rake::Application.new
8
-
9
- assert app.instance_eval {
10
- rake_require("test2", ['rakelib'], [])
11
- }
12
- end
13
-
14
- def test_wont_reload_rake_library
15
- rakefile_rakelib
16
- app = Rake::Application.new
17
-
18
- paths = ['rakelib']
19
- loaded_files = []
20
- app.rake_require("test2", paths, loaded_files)
21
-
22
- assert ! app.instance_eval {
23
- rake_require("test2", paths, loaded_files)
24
- }
25
- end
26
-
27
- def test_throws_error_if_library_not_found
28
- rakefile_rakelib
29
-
30
- app = Rake::Application.new
31
- ex = assert_raises(LoadError) {
32
- assert app.instance_eval {
33
- rake_require("testx", ['rakelib'], [])
34
- }
35
- }
36
- assert_match(/(can *not|can't)\s+find/i, ex.message)
37
- assert_match(/testx/, ex.message)
38
- end
39
- end
40
-