rake 0.9.2.2 → 0.9.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 (50) hide show
  1. data/CHANGES +4 -0
  2. data/README.rdoc +10 -8
  3. data/Rakefile +6 -1
  4. data/TODO +1 -0
  5. data/bin/rake +4 -0
  6. data/doc/command_line_usage.rdoc +61 -12
  7. data/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  8. data/doc/release_notes/rake-0.9.3.rdoc +102 -0
  9. data/install.rb +1 -1
  10. data/lib/rake/application.rb +244 -140
  11. data/lib/rake/backtrace.rb +18 -0
  12. data/lib/rake/clean.rb +1 -1
  13. data/lib/rake/cloneable.rb +7 -16
  14. data/lib/rake/contrib/ftptools.rb +2 -1
  15. data/lib/rake/contrib/sys.rb +6 -6
  16. data/lib/rake/dsl_definition.rb +13 -7
  17. data/lib/rake/ext/module.rb +1 -1
  18. data/lib/rake/ext/string.rb +2 -1
  19. data/lib/rake/ext/time.rb +2 -1
  20. data/lib/rake/file_list.rb +2 -2
  21. data/lib/rake/file_utils_ext.rb +4 -3
  22. data/lib/rake/multi_task.rb +2 -5
  23. data/lib/rake/phony.rb +13 -0
  24. data/lib/rake/private_reader.rb +20 -0
  25. data/lib/rake/promise.rb +99 -0
  26. data/lib/rake/rake_module.rb +15 -0
  27. data/lib/rake/rdoctask.rb +1 -1
  28. data/lib/rake/runtest.rb +1 -1
  29. data/lib/rake/task.rb +29 -7
  30. data/lib/rake/task_arguments.rb +1 -1
  31. data/lib/rake/task_manager.rb +1 -1
  32. data/lib/rake/testtask.rb +5 -1
  33. data/lib/rake/thread_history_display.rb +48 -0
  34. data/lib/rake/thread_pool.rb +155 -0
  35. data/lib/rake/version.rb +6 -4
  36. data/lib/rake.rb +1 -0
  37. data/test/helper.rb +30 -0
  38. data/test/test_private_reader.rb +42 -0
  39. data/test/test_rake_application.rb +12 -1
  40. data/test/test_rake_application_options.rb +114 -4
  41. data/test/test_rake_backtrace.rb +81 -0
  42. data/test/test_rake_directory_task.rb +16 -5
  43. data/test/test_rake_file_task.rb +21 -1
  44. data/test/test_rake_functional.rb +22 -0
  45. data/test/test_rake_multi_task.rb +8 -0
  46. data/test/test_rake_reduce_compat.rb +65 -0
  47. data/test/test_rake_task.rb +50 -1
  48. data/test/test_rake_thread_pool.rb +123 -0
  49. data/test/test_thread_history_display.rb +91 -0
  50. metadata +53 -37
@@ -0,0 +1,91 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ require 'rake/thread_history_display'
4
+
5
+ class TestThreadHistoryDisplay < Rake::TestCase
6
+ def setup
7
+ super
8
+ @time = 1000000
9
+ @stats = []
10
+ @display = Rake::ThreadHistoryDisplay.new(@stats)
11
+ end
12
+
13
+ def test_banner
14
+ out, _ = capture_io do
15
+ @display.show
16
+ end
17
+ assert_match(/Job History/i, out)
18
+ end
19
+
20
+ def test_item_queued
21
+ @stats << event(:item_queued, :item_id => 123)
22
+ out, _ = capture_io do
23
+ @display.show
24
+ end
25
+ assert_match(/^ *1000000 +A +item_queued +item_id:1$/, out)
26
+ end
27
+
28
+ def test_item_dequeued
29
+ @stats << event(:item_dequeued, :item_id => 123)
30
+ out, _ = capture_io do
31
+ @display.show
32
+ end
33
+ assert_match(/^ *1000000 +A +item_dequeued +item_id:1$/, out)
34
+ end
35
+
36
+ def test_multiple_items
37
+ @stats << event(:item_queued, :item_id => 123)
38
+ @stats << event(:item_queued, :item_id => 124)
39
+ out, _ = capture_io do
40
+ @display.show
41
+ end
42
+ assert_match(/^ *1000000 +A +item_queued +item_id:1$/, out)
43
+ assert_match(/^ *1000001 +A +item_queued +item_id:2$/, out)
44
+ end
45
+
46
+ def test_waiting
47
+ @stats << event(:waiting, :item_id => 123)
48
+ out, _ = capture_io do
49
+ @display.show
50
+ end
51
+ assert_match(/^ *1000000 +A +waiting +item_id:1$/, out)
52
+ end
53
+
54
+ def test_continue
55
+ @stats << event(:continue, :item_id => 123)
56
+ out, _ = capture_io do
57
+ @display.show
58
+ end
59
+ assert_match(/^ *1000000 +A +continue +item_id:1$/, out)
60
+ end
61
+
62
+ def test_thread_deleted
63
+ @stats << event(:thread_deleted, :deleted_thread => 123456, :thread_count => 12)
64
+ out, _ = capture_io do
65
+ @display.show
66
+ end
67
+ assert_match(/^ *1000000 +A +thread_deleted( +deleted_thread:B| +thread_count:12){2}$/, out)
68
+ end
69
+
70
+ def test_thread_created
71
+ @stats << event(:thread_created, :new_thread => 123456, :thread_count => 13)
72
+ out, _ = capture_io do
73
+ @display.show
74
+ end
75
+ assert_match(/^ *1000000 +A +thread_created( +new_thread:B| +thread_count:13){2}$/, out)
76
+ end
77
+
78
+ private
79
+
80
+ def event(type, data={})
81
+ result = {
82
+ :event => type,
83
+ :time => @time / 1_000_000.0,
84
+ :data => data,
85
+ :thread => Thread.current.object_id
86
+ }
87
+ @time += 1
88
+ result
89
+ end
90
+
91
+ end
metadata CHANGED
@@ -1,35 +1,39 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rake
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.3
4
5
  prerelease:
5
- version: 0.9.2.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Jim Weirich
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-10-22 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-11-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: minitest
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
18
+ requirements:
21
19
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: "2.1"
20
+ - !ruby/object:Gem::Version
21
+ version: '2.1'
24
22
  type: :development
25
- version_requirements: *id001
26
- description: Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax.
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.1'
30
+ description: Rake is a Make-like program implemented in Ruby. Tasks and dependencies
31
+ arespecified in standard Ruby syntax.
27
32
  email: jim@weirichhouse.org
28
- executables:
33
+ executables:
29
34
  - rake
30
35
  extensions: []
31
-
32
- extra_rdoc_files:
36
+ extra_rdoc_files:
33
37
  - README.rdoc
34
38
  - MIT-LICENSE
35
39
  - TODO
@@ -58,18 +62,22 @@ extra_rdoc_files:
58
62
  - doc/release_notes/rake-0.8.7.rdoc
59
63
  - doc/release_notes/rake-0.9.0.rdoc
60
64
  - doc/release_notes/rake-0.9.1.rdoc
65
+ - doc/release_notes/rake-0.9.2.2.rdoc
61
66
  - doc/release_notes/rake-0.9.2.rdoc
62
- files:
67
+ - doc/release_notes/rake-0.9.3.rdoc
68
+ files:
63
69
  - .gemtest
64
70
  - install.rb
65
71
  - CHANGES
66
72
  - MIT-LICENSE
67
- - Rakefile
68
73
  - README.rdoc
74
+ - Rakefile
69
75
  - TODO
70
76
  - bin/rake
77
+ - lib/rake.rb
71
78
  - lib/rake/alt_system.rb
72
79
  - lib/rake/application.rb
80
+ - lib/rake/backtrace.rb
73
81
  - lib/rake/classic_namespace.rb
74
82
  - lib/rake/clean.rb
75
83
  - lib/rake/cloneable.rb
@@ -99,6 +107,9 @@ files:
99
107
  - lib/rake/name_space.rb
100
108
  - lib/rake/packagetask.rb
101
109
  - lib/rake/pathmap.rb
110
+ - lib/rake/phony.rb
111
+ - lib/rake/private_reader.rb
112
+ - lib/rake/promise.rb
102
113
  - lib/rake/pseudo_status.rb
103
114
  - lib/rake/rake_module.rb
104
115
  - lib/rake/rake_test_loader.rb
@@ -112,14 +123,17 @@ files:
112
123
  - lib/rake/task_manager.rb
113
124
  - lib/rake/tasklib.rb
114
125
  - lib/rake/testtask.rb
126
+ - lib/rake/thread_history_display.rb
127
+ - lib/rake/thread_pool.rb
115
128
  - lib/rake/version.rb
116
129
  - lib/rake/win32.rb
117
- - lib/rake.rb
118
130
  - test/file_creation.rb
119
131
  - test/helper.rb
132
+ - test/test_private_reader.rb
120
133
  - test/test_rake.rb
121
134
  - test/test_rake_application.rb
122
135
  - test/test_rake_application_options.rb
136
+ - test/test_rake_backtrace.rb
123
137
  - test/test_rake_clean.rb
124
138
  - test/test_rake_definitions.rb
125
139
  - test/test_rake_directory_task.rb
@@ -144,6 +158,7 @@ files:
144
158
  - test/test_rake_pseudo_status.rb
145
159
  - test/test_rake_rake_test_loader.rb
146
160
  - test/test_rake_rdoc_task.rb
161
+ - test/test_rake_reduce_compat.rb
147
162
  - test/test_rake_require.rb
148
163
  - test/test_rake_rules.rb
149
164
  - test/test_rake_task.rb
@@ -154,15 +169,17 @@ files:
154
169
  - test/test_rake_task_manager_argument_resolution.rb
155
170
  - test/test_rake_task_with_arguments.rb
156
171
  - test/test_rake_test_task.rb
172
+ - test/test_rake_thread_pool.rb
157
173
  - test/test_rake_top_level_functions.rb
158
174
  - test/test_rake_win32.rb
159
175
  - test/test_sys.rb
176
+ - test/test_thread_history_display.rb
160
177
  - doc/command_line_usage.rdoc
178
+ - doc/example/Rakefile1
179
+ - doc/example/Rakefile2
161
180
  - doc/example/a.c
162
181
  - doc/example/b.c
163
182
  - doc/example/main.c
164
- - doc/example/Rakefile1
165
- - doc/example/Rakefile2
166
183
  - doc/glossary.rdoc
167
184
  - doc/jamis.rb
168
185
  - doc/proto_rake.rdoc
@@ -188,38 +205,37 @@ files:
188
205
  - doc/release_notes/rake-0.8.7.rdoc
189
206
  - doc/release_notes/rake-0.9.0.rdoc
190
207
  - doc/release_notes/rake-0.9.1.rdoc
208
+ - doc/release_notes/rake-0.9.2.2.rdoc
191
209
  - doc/release_notes/rake-0.9.2.rdoc
210
+ - doc/release_notes/rake-0.9.3.rdoc
192
211
  homepage: http://rake.rubyforge.org
193
212
  licenses: []
194
-
195
213
  post_install_message:
196
- rdoc_options:
214
+ rdoc_options:
197
215
  - --line-numbers
198
216
  - --show-hash
199
217
  - --main
200
218
  - README.rdoc
201
219
  - --title
202
220
  - Rake -- Ruby Make
203
- require_paths:
221
+ require_paths:
204
222
  - lib
205
- required_ruby_version: !ruby/object:Gem::Requirement
223
+ required_ruby_version: !ruby/object:Gem::Requirement
206
224
  none: false
207
- requirements:
208
- - - ">="
209
- - !ruby/object:Gem::Version
225
+ requirements:
226
+ - - ! '>='
227
+ - !ruby/object:Gem::Version
210
228
  version: 1.8.6
211
- required_rubygems_version: !ruby/object:Gem::Requirement
229
+ required_rubygems_version: !ruby/object:Gem::Requirement
212
230
  none: false
213
- requirements:
214
- - - ">="
215
- - !ruby/object:Gem::Version
231
+ requirements:
232
+ - - ! '>='
233
+ - !ruby/object:Gem::Version
216
234
  version: 1.3.2
217
235
  requirements: []
218
-
219
236
  rubyforge_project: rake
220
- rubygems_version: 1.8.11
237
+ rubygems_version: 1.8.24
221
238
  signing_key:
222
239
  specification_version: 3
223
240
  summary: Ruby based make-like utility.
224
241
  test_files: []
225
-