rake 10.4.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.
- checksums.yaml +5 -5
- data/CONTRIBUTING.rdoc +16 -7
- data/Gemfile +10 -0
- data/History.rdoc +2022 -287
- data/README.rdoc +40 -25
- data/Rakefile +25 -65
- data/bin/bundle +105 -0
- data/bin/console +7 -0
- data/bin/rake +20 -24
- data/bin/rdoc +29 -0
- data/bin/rubocop +29 -0
- data/bin/setup +6 -0
- data/doc/glossary.rdoc +10 -11
- data/doc/jamis.rb +1 -0
- data/doc/rake.1 +139 -124
- data/doc/rakefile.rdoc +2 -33
- data/exe/rake +27 -0
- data/lib/rake.rb +35 -43
- data/lib/rake/application.rb +125 -91
- data/lib/rake/backtrace.rb +3 -2
- data/lib/rake/clean.rb +8 -6
- data/lib/rake/cloneable.rb +1 -0
- data/lib/rake/cpu_counter.rb +10 -28
- data/lib/rake/default_loader.rb +1 -0
- data/lib/rake/dsl_definition.rb +6 -12
- data/lib/rake/early_time.rb +1 -0
- data/lib/rake/ext/core.rb +1 -0
- data/lib/rake/ext/string.rb +24 -21
- data/lib/rake/file_creation_task.rb +4 -3
- data/lib/rake/file_list.rb +35 -28
- data/lib/rake/file_task.rb +12 -4
- data/lib/rake/file_utils.rb +38 -32
- data/lib/rake/file_utils_ext.rb +8 -18
- data/lib/rake/invocation_chain.rb +1 -0
- data/lib/rake/invocation_exception_mixin.rb +1 -0
- data/lib/rake/late_time.rb +2 -1
- data/lib/rake/linked_list.rb +24 -15
- data/lib/rake/loaders/makefile.rb +23 -9
- data/lib/rake/multi_task.rb +2 -1
- data/lib/rake/name_space.rb +1 -1
- data/lib/rake/packagetask.rb +40 -17
- data/lib/rake/phony.rb +2 -1
- data/lib/rake/private_reader.rb +1 -0
- data/lib/rake/promise.rb +13 -12
- data/lib/rake/pseudo_status.rb +1 -0
- data/lib/rake/rake_module.rb +30 -1
- data/lib/rake/rake_test_loader.rb +18 -13
- data/lib/rake/rule_recursion_overflow_error.rb +2 -2
- data/lib/rake/scope.rb +3 -2
- data/lib/rake/task.rb +82 -31
- data/lib/rake/task_argument_error.rb +1 -0
- data/lib/rake/task_arguments.rb +15 -4
- data/lib/rake/task_manager.rb +54 -33
- data/lib/rake/tasklib.rb +2 -14
- data/lib/rake/testtask.rb +40 -63
- data/lib/rake/thread_history_display.rb +4 -3
- data/lib/rake/thread_pool.rb +16 -17
- data/lib/rake/trace_output.rb +2 -1
- data/lib/rake/version.rb +4 -1
- data/lib/rake/win32.rb +10 -15
- data/rake.gemspec +43 -0
- metadata +33 -270
- data/.autotest +0 -7
- data/.gemtest +0 -0
- data/.rubocop.yml +0 -27
- data/.togglerc +0 -7
- data/Manifest.txt +0 -166
- data/doc/release_notes/rake-0.4.14.rdoc +0 -23
- data/doc/release_notes/rake-0.4.15.rdoc +0 -35
- data/doc/release_notes/rake-0.5.0.rdoc +0 -53
- data/doc/release_notes/rake-0.5.3.rdoc +0 -78
- data/doc/release_notes/rake-0.5.4.rdoc +0 -46
- data/doc/release_notes/rake-0.6.0.rdoc +0 -141
- data/doc/release_notes/rake-0.7.0.rdoc +0 -119
- data/doc/release_notes/rake-0.7.1.rdoc +0 -59
- data/doc/release_notes/rake-0.7.2.rdoc +0 -121
- data/doc/release_notes/rake-0.7.3.rdoc +0 -47
- data/doc/release_notes/rake-0.8.0.rdoc +0 -114
- data/doc/release_notes/rake-0.8.2.rdoc +0 -165
- data/doc/release_notes/rake-0.8.3.rdoc +0 -112
- data/doc/release_notes/rake-0.8.4.rdoc +0 -147
- data/doc/release_notes/rake-0.8.5.rdoc +0 -53
- data/doc/release_notes/rake-0.8.6.rdoc +0 -37
- data/doc/release_notes/rake-0.8.7.rdoc +0 -55
- data/doc/release_notes/rake-0.9.0.rdoc +0 -112
- data/doc/release_notes/rake-0.9.1.rdoc +0 -52
- data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
- data/doc/release_notes/rake-0.9.2.rdoc +0 -49
- data/doc/release_notes/rake-0.9.3.rdoc +0 -102
- data/doc/release_notes/rake-0.9.4.rdoc +0 -60
- data/doc/release_notes/rake-0.9.5.rdoc +0 -55
- data/doc/release_notes/rake-0.9.6.rdoc +0 -64
- data/doc/release_notes/rake-10.0.0.rdoc +0 -178
- data/doc/release_notes/rake-10.0.1.rdoc +0 -58
- data/doc/release_notes/rake-10.0.2.rdoc +0 -53
- data/doc/release_notes/rake-10.0.3.rdoc +0 -191
- data/doc/release_notes/rake-10.1.0.rdoc +0 -61
- data/lib/rake/alt_system.rb +0 -110
- data/lib/rake/contrib/.document +0 -1
- data/lib/rake/contrib/compositepublisher.rb +0 -21
- data/lib/rake/contrib/ftptools.rb +0 -137
- data/lib/rake/contrib/publisher.rb +0 -81
- data/lib/rake/contrib/rubyforgepublisher.rb +0 -18
- data/lib/rake/contrib/sshpublisher.rb +0 -61
- data/lib/rake/contrib/sys.rb +0 -4
- data/lib/rake/ext/module.rb +0 -2
- data/lib/rake/ext/pathname.rb +0 -25
- data/lib/rake/ext/time.rb +0 -16
- data/lib/rake/gempackagetask.rb +0 -4
- data/lib/rake/pathmap.rb +0 -3
- data/lib/rake/rdoctask.rb +0 -4
- data/lib/rake/ruby182_test_unit_fix.rb +0 -29
- data/lib/rake/runtest.rb +0 -27
- data/rakelib/publish.rake +0 -20
- data/rakelib/test_times.rake +0 -25
- data/test/file_creation.rb +0 -34
- data/test/helper.rb +0 -130
- data/test/support/rakefile_definitions.rb +0 -478
- data/test/support/ruby_runner.rb +0 -34
- data/test/test_private_reader.rb +0 -42
- data/test/test_rake.rb +0 -40
- data/test/test_rake_application.rb +0 -643
- data/test/test_rake_application_options.rb +0 -466
- data/test/test_rake_backtrace.rb +0 -119
- data/test/test_rake_clean.rb +0 -61
- data/test/test_rake_cpu_counter.rb +0 -68
- data/test/test_rake_definitions.rb +0 -84
- data/test/test_rake_directory_task.rb +0 -76
- data/test/test_rake_dsl.rb +0 -40
- data/test/test_rake_early_time.rb +0 -31
- data/test/test_rake_extension.rb +0 -59
- data/test/test_rake_file_creation_task.rb +0 -56
- data/test/test_rake_file_list.rb +0 -655
- data/test/test_rake_file_list_path_map.rb +0 -8
- data/test/test_rake_file_task.rb +0 -197
- data/test/test_rake_file_utils.rb +0 -309
- data/test/test_rake_ftp_file.rb +0 -74
- data/test/test_rake_functional.rb +0 -482
- data/test/test_rake_invocation_chain.rb +0 -64
- data/test/test_rake_late_time.rb +0 -18
- data/test/test_rake_linked_list.rb +0 -84
- data/test/test_rake_makefile_loader.rb +0 -46
- data/test/test_rake_multi_task.rb +0 -64
- data/test/test_rake_name_space.rb +0 -57
- data/test/test_rake_package_task.rb +0 -79
- data/test/test_rake_path_map.rb +0 -168
- data/test/test_rake_path_map_explode.rb +0 -34
- data/test/test_rake_path_map_partial.rb +0 -18
- data/test/test_rake_pathname_extensions.rb +0 -15
- data/test/test_rake_pseudo_status.rb +0 -21
- data/test/test_rake_rake_test_loader.rb +0 -20
- data/test/test_rake_reduce_compat.rb +0 -26
- data/test/test_rake_require.rb +0 -40
- data/test/test_rake_rules.rb +0 -388
- data/test/test_rake_scope.rb +0 -44
- data/test/test_rake_task.rb +0 -393
- data/test/test_rake_task_argument_parsing.rb +0 -119
- data/test/test_rake_task_arguments.rb +0 -127
- data/test/test_rake_task_lib.rb +0 -9
- data/test/test_rake_task_manager.rb +0 -178
- data/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/test/test_rake_task_with_arguments.rb +0 -172
- data/test/test_rake_test_task.rb +0 -146
- data/test/test_rake_thread_pool.rb +0 -145
- data/test/test_rake_top_level_functions.rb +0 -71
- data/test/test_rake_win32.rb +0 -72
- data/test/test_thread_history_display.rb +0 -101
- data/test/test_trace_output.rb +0 -52
data/test/test_rake_test_task.rb
DELETED
|
@@ -1,146 +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 test_initialize
|
|
8
|
-
tt = Rake::TestTask.new do |t| end
|
|
9
|
-
refute_nil tt
|
|
10
|
-
assert_equal :test, tt.name
|
|
11
|
-
assert_equal ['lib'], tt.libs
|
|
12
|
-
assert_equal 'test/test*.rb', tt.pattern
|
|
13
|
-
assert_equal false, tt.verbose
|
|
14
|
-
assert Task.task_defined?(:test)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def test_initialize_override
|
|
18
|
-
tt = Rake::TestTask.new(:example) do |t|
|
|
19
|
-
t.description = "Run example tests"
|
|
20
|
-
t.libs = ['src', 'ext']
|
|
21
|
-
t.pattern = 'test/tc_*.rb'
|
|
22
|
-
t.verbose = true
|
|
23
|
-
end
|
|
24
|
-
refute_nil tt
|
|
25
|
-
assert_equal "Run example tests", tt.description
|
|
26
|
-
assert_equal :example, tt.name
|
|
27
|
-
assert_equal ['src', 'ext'], tt.libs
|
|
28
|
-
assert_equal 'test/tc_*.rb', tt.pattern
|
|
29
|
-
assert_equal true, tt.verbose
|
|
30
|
-
assert Task.task_defined?(:example)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def test_file_list_env_test
|
|
34
|
-
ENV['TEST'] = 'testfile.rb'
|
|
35
|
-
tt = Rake::TestTask.new do |t|
|
|
36
|
-
t.pattern = '*'
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
assert_equal ["testfile.rb"], tt.file_list.to_a
|
|
40
|
-
ensure
|
|
41
|
-
ENV.delete 'TEST'
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def test_libs_equals
|
|
45
|
-
test_task = Rake::TestTask.new do |t|
|
|
46
|
-
t.libs << ["A", "B"]
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
path = %w[lib A B].join File::PATH_SEPARATOR
|
|
50
|
-
|
|
51
|
-
assert_equal "-I\"#{path}\"", test_task.ruby_opts_string
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def test_libs_equals_empty
|
|
55
|
-
test_task = Rake::TestTask.new do |t|
|
|
56
|
-
t.libs = []
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
assert_equal '', test_task.ruby_opts_string
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def test_pattern_equals
|
|
63
|
-
tt = Rake::TestTask.new do |t|
|
|
64
|
-
t.pattern = '*.rb'
|
|
65
|
-
end
|
|
66
|
-
assert_equal ['*.rb'], tt.file_list.to_a
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
def test_pattern_equals_test_files_equals
|
|
70
|
-
tt = Rake::TestTask.new do |t|
|
|
71
|
-
t.test_files = FileList['a.rb', 'b.rb']
|
|
72
|
-
t.pattern = '*.rb'
|
|
73
|
-
end
|
|
74
|
-
assert_equal ['a.rb', 'b.rb', '*.rb'], tt.file_list.to_a
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def test_run_code_direct
|
|
78
|
-
test_task = Rake::TestTask.new do |t|
|
|
79
|
-
t.loader = :direct
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
assert_equal '-e "ARGV.each{|f| require f}"', test_task.run_code
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def test_run_code_rake
|
|
86
|
-
spec = Gem::Specification.new 'rake', 0
|
|
87
|
-
spec.loaded_from = File.join Gem::Specification.dirs.last, 'rake-0.gemspec'
|
|
88
|
-
rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], spec
|
|
89
|
-
|
|
90
|
-
test_task = Rake::TestTask.new do |t|
|
|
91
|
-
t.loader = :rake
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
assert_match(/\A-I".*?" ".*?"\Z/, test_task.run_code)
|
|
95
|
-
ensure
|
|
96
|
-
Gem.loaded_specs['rake'] = rake
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
def test_run_code_rake_default_gem
|
|
100
|
-
skip 'this ruby does not have default gems' unless
|
|
101
|
-
Gem::Specification.method_defined? :default_specifications_dir
|
|
102
|
-
|
|
103
|
-
default_spec = Gem::Specification.new 'rake', 0
|
|
104
|
-
default_spec.loaded_from = File.join Gem::Specification.default_specifications_dir, 'rake-0.gemspec'
|
|
105
|
-
begin
|
|
106
|
-
rake, Gem.loaded_specs['rake'] = Gem.loaded_specs['rake'], default_spec
|
|
107
|
-
|
|
108
|
-
test_task = Rake::TestTask.new do |t|
|
|
109
|
-
t.loader = :rake
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
assert_match(/\A(-I".*?" *)* ".*?"\Z/, test_task.run_code)
|
|
113
|
-
ensure
|
|
114
|
-
Gem.loaded_specs['rake'] = rake
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
def test_run_code_testrb_ruby_1_8_2
|
|
119
|
-
test_task = Rake::TestTask.new do |t|
|
|
120
|
-
t.loader = :testrb
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
def test_task.ruby_version() '1.8.2' end
|
|
124
|
-
|
|
125
|
-
assert_match(/^-S testrb +".*"$/, test_task.run_code)
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
def test_run_code_testrb_ruby_1_8_6
|
|
129
|
-
test_task = Rake::TestTask.new do |t|
|
|
130
|
-
t.loader = :testrb
|
|
131
|
-
end
|
|
132
|
-
|
|
133
|
-
def test_task.ruby_version() '1.8.6' end
|
|
134
|
-
|
|
135
|
-
assert_match(/^-S testrb +$/, test_task.run_code)
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
def test_test_files_equals
|
|
139
|
-
tt = Rake::TestTask.new do |t|
|
|
140
|
-
t.test_files = FileList['a.rb', 'b.rb']
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
end
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
require 'rake/thread_pool'
|
|
3
|
-
|
|
4
|
-
class TestRakeTestThreadPool < Rake::TestCase
|
|
5
|
-
include Rake
|
|
6
|
-
|
|
7
|
-
def test_pool_executes_in_current_thread_for_zero_threads
|
|
8
|
-
pool = ThreadPool.new(0)
|
|
9
|
-
f = pool.future { Thread.current }
|
|
10
|
-
pool.join
|
|
11
|
-
assert_equal Thread.current, f.value
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def test_pool_executes_in_other_thread_for_pool_of_size_one
|
|
15
|
-
pool = ThreadPool.new(1)
|
|
16
|
-
f = pool.future { Thread.current }
|
|
17
|
-
pool.join
|
|
18
|
-
refute_equal Thread.current, f.value
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def test_pool_executes_in_two_other_threads_for_pool_of_size_two
|
|
22
|
-
pool = ThreadPool.new(2)
|
|
23
|
-
threads = 2.times.map {
|
|
24
|
-
pool.future {
|
|
25
|
-
sleep 0.1
|
|
26
|
-
Thread.current
|
|
27
|
-
}
|
|
28
|
-
}.each { |f|
|
|
29
|
-
f.value
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
refute_equal threads[0], threads[1]
|
|
33
|
-
refute_equal Thread.current, threads[0]
|
|
34
|
-
refute_equal Thread.current, threads[1]
|
|
35
|
-
ensure
|
|
36
|
-
pool.join
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def test_pool_creates_the_correct_number_of_threads
|
|
40
|
-
pool = ThreadPool.new(2)
|
|
41
|
-
threads = Set.new
|
|
42
|
-
t_mutex = Mutex.new
|
|
43
|
-
10.times.each do
|
|
44
|
-
pool.future do
|
|
45
|
-
sleep 0.02
|
|
46
|
-
t_mutex.synchronize { threads << Thread.current }
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
pool.join
|
|
50
|
-
assert_equal 2, threads.count
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def test_pool_future_does_not_duplicate_arguments
|
|
54
|
-
pool = ThreadPool.new(2)
|
|
55
|
-
obj = Object.new
|
|
56
|
-
captured = nil
|
|
57
|
-
pool.future(obj) { |var| captured = var }
|
|
58
|
-
pool.join
|
|
59
|
-
assert_equal obj, captured
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def test_pool_join_empties_queue
|
|
63
|
-
pool = ThreadPool.new(2)
|
|
64
|
-
repeat = 25
|
|
65
|
-
repeat.times {
|
|
66
|
-
pool.future do
|
|
67
|
-
repeat.times {
|
|
68
|
-
pool.future do
|
|
69
|
-
repeat.times {
|
|
70
|
-
pool.future do end
|
|
71
|
-
}
|
|
72
|
-
end
|
|
73
|
-
}
|
|
74
|
-
end
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
pool.join
|
|
78
|
-
assert_equal(
|
|
79
|
-
true,
|
|
80
|
-
pool.__send__(:__queue__).empty?,
|
|
81
|
-
"queue should be empty")
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
CustomError = Class.new(StandardError)
|
|
85
|
-
|
|
86
|
-
# test that throwing an exception way down in the blocks propagates
|
|
87
|
-
# to the top
|
|
88
|
-
def test_exceptions
|
|
89
|
-
pool = ThreadPool.new(10)
|
|
90
|
-
|
|
91
|
-
deep_exception_block = lambda do |count|
|
|
92
|
-
raise CustomError if count < 1
|
|
93
|
-
pool.future(count - 1, &deep_exception_block).value
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
assert_raises(CustomError) do
|
|
97
|
-
pool.future(2, &deep_exception_block).value
|
|
98
|
-
end
|
|
99
|
-
ensure
|
|
100
|
-
pool.join
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def test_pool_prevents_deadlock
|
|
104
|
-
pool = ThreadPool.new(5)
|
|
105
|
-
|
|
106
|
-
common_dependency_a = pool.future { sleep 0.2 }
|
|
107
|
-
futures_a = 10.times.map {
|
|
108
|
-
pool.future {
|
|
109
|
-
common_dependency_a.value
|
|
110
|
-
sleep(rand() * 0.01)
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
common_dependency_b = pool.future { futures_a.each { |f| f.value } }
|
|
115
|
-
futures_b = 10.times.map {
|
|
116
|
-
pool.future {
|
|
117
|
-
common_dependency_b.value
|
|
118
|
-
sleep(rand() * 0.01)
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
futures_b.each { |f| f.value }
|
|
123
|
-
pool.join
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
def test_pool_reports_correct_results
|
|
127
|
-
pool = ThreadPool.new(7)
|
|
128
|
-
|
|
129
|
-
a = 18
|
|
130
|
-
b = 5
|
|
131
|
-
c = 3
|
|
132
|
-
|
|
133
|
-
result = a.times.map do
|
|
134
|
-
pool.future do
|
|
135
|
-
b.times.map do
|
|
136
|
-
pool.future { sleep rand * 0.001; c }
|
|
137
|
-
end.reduce(0) { |m, f| m + f.value }
|
|
138
|
-
end
|
|
139
|
-
end.reduce(0) { |m, f| m + f.value }
|
|
140
|
-
|
|
141
|
-
assert_equal a * b * c, result
|
|
142
|
-
pool.join
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
end
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
|
|
3
|
-
class TestRakeTopLevelFunctions < Rake::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
super
|
|
7
|
-
|
|
8
|
-
@app = Object.new
|
|
9
|
-
|
|
10
|
-
def @app.called
|
|
11
|
-
@called
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def @app.method_missing(*a, &b)
|
|
15
|
-
@called ||= []
|
|
16
|
-
@called << [a, b]
|
|
17
|
-
nil
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
Rake.application = @app
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def test_namespace
|
|
24
|
-
block = proc do end
|
|
25
|
-
|
|
26
|
-
namespace("xyz", &block)
|
|
27
|
-
|
|
28
|
-
expected = [
|
|
29
|
-
[[:in_namespace, 'xyz'], block]
|
|
30
|
-
]
|
|
31
|
-
|
|
32
|
-
assert_equal expected, @app.called
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def test_import
|
|
36
|
-
import('x', 'y', 'z')
|
|
37
|
-
|
|
38
|
-
expected = [
|
|
39
|
-
[[:add_import, 'x'], nil],
|
|
40
|
-
[[:add_import, 'y'], nil],
|
|
41
|
-
[[:add_import, 'z'], nil],
|
|
42
|
-
]
|
|
43
|
-
|
|
44
|
-
assert_equal expected, @app.called
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def test_when_writing
|
|
48
|
-
out, = capture_io do
|
|
49
|
-
when_writing("NOTWRITING") do
|
|
50
|
-
puts "WRITING"
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
assert_equal "WRITING\n", out
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def test_when_not_writing
|
|
57
|
-
Rake::FileUtilsExt.nowrite_flag = true
|
|
58
|
-
_, err = capture_io do
|
|
59
|
-
when_writing("NOTWRITING") do
|
|
60
|
-
puts "WRITING"
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
assert_equal "DRYRUN: NOTWRITING\n", err
|
|
64
|
-
ensure
|
|
65
|
-
Rake::FileUtilsExt.nowrite_flag = false
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def test_missing_other_constant
|
|
69
|
-
assert_raises(NameError) do Object.const_missing(:Xyz) end
|
|
70
|
-
end
|
|
71
|
-
end
|
data/test/test_rake_win32.rb
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../helper', __FILE__)
|
|
2
|
-
|
|
3
|
-
class TestRakeWin32 < Rake::TestCase
|
|
4
|
-
|
|
5
|
-
Win32 = Rake::Win32
|
|
6
|
-
|
|
7
|
-
def test_win32_system_dir_uses_home_if_defined
|
|
8
|
-
ENV['HOME'] = 'C:\\HP'
|
|
9
|
-
|
|
10
|
-
assert_equal "C:/HP/Rake", Win32.win32_system_dir
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def test_win32_system_dir_uses_homedrive_homepath_when_no_home_defined
|
|
14
|
-
ENV['HOME'] = nil
|
|
15
|
-
ENV['HOMEDRIVE'] = 'C:'
|
|
16
|
-
ENV['HOMEPATH'] = '\\HP'
|
|
17
|
-
|
|
18
|
-
assert_equal "C:/HP/Rake", Win32.win32_system_dir
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def test_win32_system_dir_uses_appdata_when_no_home_or_home_combo
|
|
22
|
-
ENV['APPDATA'] = "C:\\Documents and Settings\\HP\\Application Data"
|
|
23
|
-
ENV['HOME'] = nil
|
|
24
|
-
ENV['HOMEDRIVE'] = nil
|
|
25
|
-
ENV['HOMEPATH'] = nil
|
|
26
|
-
|
|
27
|
-
assert_equal "C:/Documents and Settings/HP/Application Data/Rake",
|
|
28
|
-
Win32.win32_system_dir
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def test_win32_system_dir_fallback_to_userprofile_otherwise
|
|
32
|
-
ENV['HOME'] = nil
|
|
33
|
-
ENV['HOMEDRIVE'] = nil
|
|
34
|
-
ENV['HOMEPATH'] = nil
|
|
35
|
-
ENV['APPDATA'] = nil
|
|
36
|
-
ENV['USERPROFILE'] = "C:\\Documents and Settings\\HP"
|
|
37
|
-
|
|
38
|
-
assert_equal "C:/Documents and Settings/HP/Rake", Win32.win32_system_dir
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def test_win32_system_dir_nil_of_no_env_vars
|
|
42
|
-
ENV['APPDATA'] = nil
|
|
43
|
-
ENV['HOME'] = nil
|
|
44
|
-
ENV['HOMEDRIVE'] = nil
|
|
45
|
-
ENV['HOMEPATH'] = nil
|
|
46
|
-
ENV['RAKE_SYSTEM'] = nil
|
|
47
|
-
ENV['USERPROFILE'] = nil
|
|
48
|
-
|
|
49
|
-
assert_raises(Rake::Win32::Win32HomeError) do
|
|
50
|
-
Win32.win32_system_dir
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def test_win32_backtrace_with_different_case
|
|
55
|
-
ex = nil
|
|
56
|
-
begin
|
|
57
|
-
raise 'test exception'
|
|
58
|
-
rescue => ex
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
ex.set_backtrace ['abc', 'rakefile']
|
|
62
|
-
|
|
63
|
-
rake = Rake::Application.new
|
|
64
|
-
rake.options.trace = true
|
|
65
|
-
rake.instance_variable_set(:@rakefile, 'Rakefile')
|
|
66
|
-
|
|
67
|
-
_, err = capture_io { rake.display_error_message(ex) }
|
|
68
|
-
|
|
69
|
-
assert_match(/rakefile/, err)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
end
|
|
@@ -1,101 +0,0 @@
|
|
|
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 = 1_000_000
|
|
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(
|
|
64
|
-
:thread_deleted,
|
|
65
|
-
:deleted_thread => 123_456,
|
|
66
|
-
:thread_count => 12)
|
|
67
|
-
out, _ = capture_io do
|
|
68
|
-
@display.show
|
|
69
|
-
end
|
|
70
|
-
assert_match(
|
|
71
|
-
/^ *1000000 +A +thread_deleted( +deleted_thread:B| +thread_count:12){2}$/,
|
|
72
|
-
out)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def test_thread_created
|
|
76
|
-
@stats << event(
|
|
77
|
-
:thread_created,
|
|
78
|
-
:new_thread => 123_456,
|
|
79
|
-
:thread_count => 13)
|
|
80
|
-
out, _ = capture_io do
|
|
81
|
-
@display.show
|
|
82
|
-
end
|
|
83
|
-
assert_match(
|
|
84
|
-
/^ *1000000 +A +thread_created( +new_thread:B| +thread_count:13){2}$/,
|
|
85
|
-
out)
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
private
|
|
89
|
-
|
|
90
|
-
def event(type, data = {})
|
|
91
|
-
result = {
|
|
92
|
-
:event => type,
|
|
93
|
-
:time => @time / 1_000_000.0,
|
|
94
|
-
:data => data,
|
|
95
|
-
:thread => Thread.current.object_id
|
|
96
|
-
}
|
|
97
|
-
@time += 1
|
|
98
|
-
result
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
end
|