deep_test 1.0.0 → 1.0.1
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/Rakefile +1 -1
- data/lib/deep_test/loader.rb +4 -3
- data/lib/deep_test/rinda_blackboard.rb +15 -9
- data/lib/deep_test/start_workers.rb +1 -1
- data/lib/deep_test.rb +0 -1
- data/test/deep_test/loader_test.rb +8 -7
- data/test/deep_test/rinda_blackboard_test.rb +15 -0
- data/test/deep_test/start_workers_test.rb +9 -0
- data/test/test_helper.rb +1 -0
- metadata +4 -2
data/Rakefile
CHANGED
@@ -36,7 +36,7 @@ Gem::manage_gems
|
|
36
36
|
specification = Gem::Specification.new do |s|
|
37
37
|
s.name = "deep_test"
|
38
38
|
s.summary = "DeepTest runs tests in multiple processes."
|
39
|
-
s.version = "1.0.
|
39
|
+
s.version = "1.0.1"
|
40
40
|
s.author = "anonymous z, Dan Manges, David Vollbracht"
|
41
41
|
s.description = s.summary
|
42
42
|
s.email = "daniel.manges@gmail.com"
|
data/lib/deep_test/loader.rb
CHANGED
@@ -15,12 +15,13 @@ module DeepTest
|
|
15
15
|
supervisor = DeepTest::Supervisor.new blackboard
|
16
16
|
supervised_suite = DeepTest::SupervisedTestSuite.new(suite, supervisor)
|
17
17
|
require 'test/unit/ui/console/testrunner'
|
18
|
-
Test::Unit::UI::Console::TestRunner.run(supervised_suite, Test::Unit::UI::NORMAL)
|
18
|
+
result = Test::Unit::UI::Console::TestRunner.run(supervised_suite, Test::Unit::UI::NORMAL)
|
19
19
|
Test::Unit.run = true
|
20
|
-
|
20
|
+
return result.passed?
|
21
|
+
end
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
24
25
|
if __FILE__ == $0
|
25
|
-
DeepTest::Loader.run
|
26
|
+
exit DeepTest::Loader.run(ARGV)
|
26
27
|
end
|
@@ -1,20 +1,16 @@
|
|
1
1
|
module DeepTest
|
2
2
|
class RindaBlackboard
|
3
|
-
def initialize
|
4
|
-
|
5
|
-
DRb.start_service
|
6
|
-
ring_server = Rinda::RingFinger.primary
|
7
|
-
ts = ring_server.read([:name, :TupleSpace, nil, nil])[2]
|
8
|
-
@tuple_space = Rinda::TupleSpaceProxy.new ts
|
3
|
+
def initialize(tuple_space = TupleSpaceFactory.tuple_space)
|
4
|
+
@tuple_space = tuple_space
|
9
5
|
end
|
10
|
-
|
6
|
+
|
11
7
|
def take_result
|
12
|
-
result = @tuple_space.take ["test_result", nil],
|
8
|
+
result = @tuple_space.take ["test_result", nil], 30
|
13
9
|
result[1]
|
14
10
|
end
|
15
11
|
|
16
12
|
def take_test
|
17
|
-
tuple = @tuple_space.take
|
13
|
+
tuple = @tuple_space.take ["run_test", nil, nil], 30
|
18
14
|
eval(tuple[1]).new(tuple[2])
|
19
15
|
end
|
20
16
|
|
@@ -25,5 +21,15 @@ module DeepTest
|
|
25
21
|
def write_test(test_case)
|
26
22
|
@tuple_space.write ["run_test", test_case.class.to_s, test_case.method_name]
|
27
23
|
end
|
24
|
+
|
25
|
+
class TupleSpaceFactory
|
26
|
+
def self.tuple_space
|
27
|
+
require "rinda/ring"
|
28
|
+
DRb.start_service
|
29
|
+
ring_server = Rinda::RingFinger.primary
|
30
|
+
ts = ring_server.read([:name, :TupleSpace, nil, nil])[2]
|
31
|
+
Rinda::TupleSpaceProxy.new ts
|
32
|
+
end
|
33
|
+
end
|
28
34
|
end
|
29
35
|
end
|
@@ -2,7 +2,7 @@ module DeepTest
|
|
2
2
|
module StartWorkers
|
3
3
|
def self.run(args)
|
4
4
|
processes, pattern = args
|
5
|
-
|
5
|
+
processes.to_i.times do
|
6
6
|
Daemons.run_proc "deep_test_worker", :multiple => true, :ARGV => ["start"], :backtrace => true, :log_output => true do
|
7
7
|
require "deep_test"
|
8
8
|
ENV["RAILS_ENV"] = "test"
|
data/lib/deep_test.rb
CHANGED
@@ -8,7 +8,6 @@ require "deep_test/extensions/testresult"
|
|
8
8
|
require "deep_test/extensions/error"
|
9
9
|
require "deep_test/extensions/object_extension"
|
10
10
|
|
11
|
-
# require "deep_test/loader"
|
12
11
|
require "deep_test/rinda_blackboard"
|
13
12
|
require "deep_test/server"
|
14
13
|
require "deep_test/simple_test_blackboard"
|
@@ -1,7 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
require File.dirname(__FILE__) + "/../test_helper"
|
2
|
+
require "deep_test/loader" unless defined?(DeepTest::Loader)
|
3
|
+
|
4
|
+
unit_tests do
|
5
|
+
test "no filters constant has empty filters" do
|
6
|
+
assert_equal [], DeepTest::Loader::NO_FILTERS.filters
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
unit_tests do
|
4
|
+
test "take result waits 30 seconds before timing out" do
|
5
|
+
blackboard = DeepTest::RindaBlackboard.new(tuple_space = stub)
|
6
|
+
tuple_space.expects(:take).with(["test_result", nil], 30).returns([])
|
7
|
+
blackboard.take_result
|
8
|
+
end
|
9
|
+
|
10
|
+
test "take test waits 30 seconds before timing out" do
|
11
|
+
blackboard = DeepTest::RindaBlackboard.new(tuple_space = stub)
|
12
|
+
tuple_space.expects(:take).with(["run_test", nil, nil], 30).returns([nil, "String", "foo"])
|
13
|
+
blackboard.take_test
|
14
|
+
end
|
15
|
+
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.3
|
|
3
3
|
specification_version: 1
|
4
4
|
name: deep_test
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2007-09-
|
6
|
+
version: 1.0.1
|
7
|
+
date: 2007-09-06 00:00:00 -04:00
|
8
8
|
summary: DeepTest runs tests in multiple processes.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -52,6 +52,8 @@ files:
|
|
52
52
|
- test/testresult_test.rb
|
53
53
|
- test/worker_test.rb
|
54
54
|
- test/deep_test/loader_test.rb
|
55
|
+
- test/deep_test/rinda_blackboard_test.rb
|
56
|
+
- test/deep_test/start_workers_test.rb
|
55
57
|
- CHANGELOG
|
56
58
|
- README
|
57
59
|
- Rakefile
|