deep_test 1.1.1 → 1.1.2
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.
- data/CHANGELOG +5 -1
- data/Rakefile +18 -2
- data/lib/deep_test/loader.rb +1 -3
- data/lib/deep_test/supervised_test_suite.rb +1 -1
- data/lib/deep_test/supervisor.rb +1 -1
- data/lib/deep_test/worker.rb +1 -1
- data/script/run_test_suite.rb +3 -6
- data/test/failing.rb +7 -0
- data/test/supervised_test_suite_test.rb +6 -0
- data/test/supervisor_test.rb +6 -0
- data/test/worker_test.rb +6 -0
- metadata +2 -1
data/CHANGELOG
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
* 1.1.2 (February 9, 2008)
|
2
|
+
|
3
|
+
* Fix bug with run_test_suite script not exiting with correct exit code.
|
4
|
+
|
1
5
|
* 1.1.1 (February 9, 2008)
|
2
6
|
|
3
7
|
* No longer fork from Rake process.
|
4
8
|
|
5
|
-
* 1.1.0
|
9
|
+
* 1.1.0 (December 23, 2007)
|
6
10
|
|
7
11
|
* DeepTest::TestTask#processes= is now DeepTest::TestTask#number_of_workers=
|
8
12
|
* No longer depend on the Daemons gem, use DeepTest::Warlock instead.
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ require 'rake/contrib/sshpublisher'
|
|
6
6
|
$LOAD_PATH << File.dirname(__FILE__) + "/lib"
|
7
7
|
require "deep_test/rake_tasks"
|
8
8
|
|
9
|
-
task :default => %w[test deep_test]
|
9
|
+
task :default => %w[test failing_test deep_test]
|
10
10
|
|
11
11
|
Rake::TestTask.new do |t|
|
12
12
|
t.pattern = "test/**/*_test.rb"
|
@@ -18,6 +18,22 @@ DeepTest::TestTask.new :deep_test do |t|
|
|
18
18
|
t.pattern = "test/**/*_test.rb"
|
19
19
|
end
|
20
20
|
|
21
|
+
DeepTest::TestTask.new :deep_test_failing do |t|
|
22
|
+
t.number_of_workers = 1
|
23
|
+
t.pattern = "test/failing.rb"
|
24
|
+
end
|
25
|
+
|
26
|
+
# TODO: figure out a better way to test this that doesn't
|
27
|
+
# involve having a failing test in the output of 'rake test'
|
28
|
+
task :failing_test do
|
29
|
+
exception = nil
|
30
|
+
begin
|
31
|
+
Rake::Task[:deep_test_failing].invoke
|
32
|
+
rescue => exception
|
33
|
+
end
|
34
|
+
fail "exception should not be nil" if exception.nil?
|
35
|
+
end
|
36
|
+
|
21
37
|
desc "Generate documentation"
|
22
38
|
Rake::RDocTask.new(:rdoc) do |rdoc|
|
23
39
|
rdoc.rdoc_dir = "doc"
|
@@ -37,7 +53,7 @@ specification = Gem::Specification.new do |s|
|
|
37
53
|
s.platform = Gem::Platform::RUBY
|
38
54
|
s.name = "deep_test"
|
39
55
|
s.summary = "DeepTest runs tests in multiple processes."
|
40
|
-
s.version = "1.1.
|
56
|
+
s.version = "1.1.2"
|
41
57
|
s.author = "anonymous z, Dan Manges, David Vollbracht"
|
42
58
|
s.description = s.summary
|
43
59
|
s.email = "daniel.manges@gmail.com"
|
data/lib/deep_test/loader.rb
CHANGED
@@ -8,9 +8,7 @@ module DeepTest
|
|
8
8
|
def self.run
|
9
9
|
require "deep_test"
|
10
10
|
suite = Test::Unit::AutoRunner::COLLECTORS[:objectspace].call NO_FILTERS
|
11
|
-
|
12
|
-
supervisor = DeepTest::Supervisor.new blackboard
|
13
|
-
supervised_suite = DeepTest::SupervisedTestSuite.new(suite, supervisor)
|
11
|
+
supervised_suite = DeepTest::SupervisedTestSuite.new(suite)
|
14
12
|
require 'test/unit/ui/console/testrunner'
|
15
13
|
result = Test::Unit::UI::Console::TestRunner.run(supervised_suite, Test::Unit::UI::NORMAL)
|
16
14
|
Test::Unit.run = true
|
data/lib/deep_test/supervisor.rb
CHANGED
data/lib/deep_test/worker.rb
CHANGED
data/script/run_test_suite.rb
CHANGED
@@ -11,27 +11,24 @@ begin
|
|
11
11
|
warlock.start "server" do
|
12
12
|
DeepTest::Server.start
|
13
13
|
end
|
14
|
-
sleep 0.25
|
14
|
+
sleep 0.25 # TODO: is this necessary?
|
15
15
|
|
16
16
|
# workers
|
17
17
|
number_of_workers.to_i.times do |i|
|
18
18
|
warlock.start "worker #{i}" do
|
19
19
|
srand # re-seed random numbers
|
20
20
|
ActiveRecord::Base.connection.reconnect! if defined?(ActiveRecord::Base)
|
21
|
-
|
22
|
-
DeepTest::Worker.new(blackboard).run
|
21
|
+
DeepTest::Worker.new.run
|
23
22
|
end
|
24
23
|
end
|
25
24
|
|
26
|
-
passed = false
|
27
25
|
loader_pid = fork do
|
28
26
|
puts "Loader (#{$$})"
|
29
27
|
passed = DeepTest::Loader.run
|
30
28
|
exit(passed ? 0 : 1)
|
31
29
|
end
|
32
30
|
Process.wait(loader_pid)
|
33
|
-
|
34
|
-
passed
|
31
|
+
exit($?.success? ? 0 : 1)
|
35
32
|
ensure
|
36
33
|
warlock.stop_all if warlock
|
37
34
|
end
|
data/test/failing.rb
ADDED
@@ -54,4 +54,10 @@ unit_tests do
|
|
54
54
|
|
55
55
|
assert_equal suite.size, supervised_suite.size
|
56
56
|
end
|
57
|
+
|
58
|
+
test "defaults to using DeepTest::Supervisor" do
|
59
|
+
DeepTest::Supervisor.stubs(:new).returns(:supervisor)
|
60
|
+
supervised_suite = DeepTest::SupervisedTestSuite.new(stub)
|
61
|
+
assert_equal :supervisor, supervised_suite.instance_variable_get("@supervisor")
|
62
|
+
end
|
57
63
|
end
|
data/test/supervisor_test.rb
CHANGED
@@ -71,4 +71,10 @@ unit_tests do
|
|
71
71
|
supervisor.read_results Test::Unit::TestResult.new do |channel,name|
|
72
72
|
end
|
73
73
|
end
|
74
|
+
|
75
|
+
test "defaults to using a rinda blackboard" do
|
76
|
+
DeepTest::RindaBlackboard.stubs(:new).returns(:rinda_blackboard)
|
77
|
+
supervisor = DeepTest::Supervisor.new
|
78
|
+
assert_equal :rinda_blackboard, supervisor.instance_variable_get("@blackboard")
|
79
|
+
end
|
74
80
|
end
|
data/test/worker_test.rb
CHANGED
@@ -55,4 +55,10 @@ unit_tests do
|
|
55
55
|
test "does not fork from rake" do
|
56
56
|
assert !defined?(Rake)
|
57
57
|
end
|
58
|
+
|
59
|
+
test "defaults to using a rinda blackboard" do
|
60
|
+
DeepTest::RindaBlackboard.stubs(:new).returns(:rinda_blackboard)
|
61
|
+
worker = DeepTest::Worker.new
|
62
|
+
assert_equal :rinda_blackboard, worker.instance_variable_get("@blackboard")
|
63
|
+
end
|
58
64
|
end
|
metadata
CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: deep_test
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.1.
|
6
|
+
version: 1.1.2
|
7
7
|
date: 2008-02-09 00:00:00 -05:00
|
8
8
|
summary: DeepTest runs tests in multiple processes.
|
9
9
|
require_paths:
|
@@ -45,6 +45,7 @@ files:
|
|
45
45
|
- lib/deep_test/extensions/object_extension.rb
|
46
46
|
- lib/deep_test/extensions/testresult.rb
|
47
47
|
- script/run_test_suite.rb
|
48
|
+
- test/failing.rb
|
48
49
|
- test/simple_test_blackboard_test.rb
|
49
50
|
- test/supervised_test_suite_test.rb
|
50
51
|
- test/supervisor_test.rb
|