jstorimer-deep-test 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/.gitignore +0 -1
  2. data/README.rdoc +70 -41
  3. data/Rakefile +104 -32
  4. data/TODO +2 -2
  5. data/VERSION +1 -1
  6. data/bin/deep_test +15 -0
  7. data/jstorimer-deep-test-0.1.0.gem +0 -0
  8. data/jstorimer-deep-test.gemspec +1425 -0
  9. data/lib/deep_test.rb +40 -28
  10. data/lib/deep_test/database/mysql_setup_listener.rb +12 -12
  11. data/lib/deep_test/database/setup_listener.rb +23 -23
  12. data/lib/deep_test/distributed/dispatch_controller.rb +10 -17
  13. data/lib/deep_test/distributed/drb_client_connection_info.rb +15 -0
  14. data/lib/deep_test/distributed/master_test_server.rb +52 -0
  15. data/lib/deep_test/distributed/multi_test_server_proxy.rb +44 -0
  16. data/lib/deep_test/distributed/null_work_unit.rb +12 -0
  17. data/lib/deep_test/distributed/remote_worker_client.rb +54 -0
  18. data/lib/deep_test/distributed/remote_worker_server.rb +82 -0
  19. data/lib/deep_test/distributed/rsync.rb +12 -25
  20. data/lib/deep_test/distributed/show_status.rhtml +41 -0
  21. data/lib/deep_test/distributed/test_server.rb +78 -0
  22. data/lib/deep_test/distributed/test_server_status.rb +9 -0
  23. data/lib/deep_test/distributed/test_server_workers.rb +24 -0
  24. data/lib/deep_test/distributed/throughput_runner.rb +42 -0
  25. data/lib/deep_test/distributed/throughput_statistics.rb +26 -0
  26. data/lib/deep_test/distributed/throughput_worker_client.rb +19 -0
  27. data/lib/deep_test/extensions/drb_extension.rb +34 -0
  28. data/lib/deep_test/listener_list.rb +1 -1
  29. data/lib/deep_test/local_workers.rb +55 -0
  30. data/lib/deep_test/logger.rb +2 -17
  31. data/lib/deep_test/marshallable_exception_wrapper.rb +4 -4
  32. data/lib/deep_test/metrics/gatherer.rb +67 -0
  33. data/lib/deep_test/metrics/queue_lock_wait_time_measurement.rb +133 -0
  34. data/lib/deep_test/{null_listener.rb → null_worker_listener.rb} +14 -14
  35. data/lib/deep_test/option.rb +60 -0
  36. data/lib/deep_test/options.rb +42 -45
  37. data/lib/deep_test/process_orchestrator.rb +49 -0
  38. data/lib/deep_test/rake_tasks.rb +1 -3
  39. data/lib/deep_test/result_reader.rb +6 -10
  40. data/lib/deep_test/rspec_detector.rb +1 -1
  41. data/lib/deep_test/server.rb +75 -0
  42. data/lib/deep_test/spec.rb +1 -5
  43. data/lib/deep_test/spec/extensions/example_methods.rb +1 -7
  44. data/lib/deep_test/spec/extensions/reporter.rb +29 -0
  45. data/lib/deep_test/spec/extensions/spec_task.rb +2 -3
  46. data/lib/deep_test/spec/runner.rb +17 -32
  47. data/lib/deep_test/spec/work_result.rb +0 -2
  48. data/lib/deep_test/test/runner.rb +2 -2
  49. data/lib/deep_test/test/supervised_test_suite.rb +10 -9
  50. data/lib/deep_test/test/work_result.rb +0 -1
  51. data/lib/deep_test/test_task.rb +1 -1
  52. data/lib/deep_test/ui/console.rb +11 -9
  53. data/lib/deep_test/warlock.rb +25 -37
  54. data/lib/deep_test/worker.rb +57 -0
  55. data/sample_rails_project/deep_test.rb +0 -4
  56. data/sample_rails_project/lib/{foreign_host_agent_simulation_listener.rb → foreign_host_worker_simulation_listener.rb} +4 -6
  57. data/sample_rails_project/lib/tasks/deep_test.rake +4 -13
  58. data/script/internal/run_test_suite.rb +7 -0
  59. data/script/public/master_test_server.rb +24 -0
  60. data/script/public/test_server.rb +18 -0
  61. data/script/public/test_throughput.rb +29 -0
  62. data/spec/deep_test/option_spec.rb +33 -0
  63. data/spec/deep_test/options_spec.rb +59 -80
  64. data/spec/deep_test/spec/extensions/example_methods_spec.rb +4 -5
  65. data/spec/deep_test/spec/extensions/spec_task_spec.rb +6 -4
  66. data/spec/deep_test/spec/runner_spec.rb +32 -59
  67. data/spec/spec_helper.rb +6 -14
  68. data/spec/thread_worker.rb +25 -0
  69. data/test/deep_test/database/mysql_setup_listener_test.rb +9 -13
  70. data/test/deep_test/distributed/dispatch_controller_test.rb +177 -130
  71. data/test/deep_test/distributed/drb_client_connection_info_test.rb +42 -0
  72. data/test/deep_test/distributed/filename_resolver_test.rb +34 -38
  73. data/test/deep_test/distributed/master_test_server_test.rb +32 -0
  74. data/test/deep_test/distributed/multi_test_server_proxy_test.rb +96 -0
  75. data/test/deep_test/distributed/remote_worker_client_test.rb +180 -0
  76. data/test/deep_test/distributed/remote_worker_server_test.rb +99 -0
  77. data/test/deep_test/distributed/rsync_test.rb +62 -42
  78. data/test/deep_test/distributed/test_server_test.rb +94 -0
  79. data/test/deep_test/distributed/test_server_workers_test.rb +26 -0
  80. data/test/deep_test/distributed/throughput_runner_test.rb +68 -0
  81. data/test/deep_test/distributed/throughput_worker_client_test.rb +28 -0
  82. data/test/deep_test/listener_list_test.rb +15 -17
  83. data/test/deep_test/local_workers_test.rb +22 -0
  84. data/test/deep_test/logger_test.rb +7 -34
  85. data/test/deep_test/marshallable_exception_wrapper_test.rb +29 -31
  86. data/test/deep_test/metrics/gatherer_test.rb +66 -0
  87. data/test/deep_test/process_orchestrator_test.rb +11 -0
  88. data/test/deep_test/result_reader_test.rb +95 -95
  89. data/test/deep_test/server_test.rb +58 -0
  90. data/test/deep_test/test/extensions/error_test.rb +36 -38
  91. data/test/deep_test/test/runner_test.rb +3 -7
  92. data/test/deep_test/test/supervised_test_suite_test.rb +61 -89
  93. data/test/deep_test/test/work_result_test.rb +76 -80
  94. data/test/deep_test/test/work_unit_test.rb +51 -53
  95. data/test/deep_test/test_task_test.rb +38 -10
  96. data/test/deep_test/ui/console_test.rb +4 -8
  97. data/test/deep_test/warlock_test.rb +31 -33
  98. data/test/deep_test/worker_test.rb +94 -0
  99. data/test/failing.rake +11 -0
  100. data/{negative_acceptance_tests/failing_test.rb → test/failing.rb} +1 -3
  101. data/{infrastructure → test}/fake_deadlock_error.rb +0 -0
  102. data/test/simple_test_blackboard.rb +45 -0
  103. data/test/simple_test_blackboard_test.rb +33 -0
  104. data/{infrastructure → test}/test_factory.rb +0 -0
  105. data/test/test_helper.rb +5 -20
  106. data/test/test_task_test.rb +57 -60
  107. metadata +78 -87
  108. data/infrastructure/dynamic_teardown.rb +0 -22
  109. data/infrastructure/load.rb +0 -11
  110. data/infrastructure/test_central_command.rb +0 -15
  111. data/infrastructure/test_exception.rb +0 -7
  112. data/infrastructure/test_logger.rb +0 -11
  113. data/infrastructure/test_operator.rb +0 -15
  114. data/infrastructure/test_result.rb +0 -15
  115. data/infrastructure/thread_agent.rb +0 -21
  116. data/infrastructure/timewarp/Rakefile +0 -14
  117. data/infrastructure/timewarp/lib/timewarp.rb +0 -21
  118. data/infrastructure/timewarp/test/timewarp_test.rb +0 -45
  119. data/lib/deep_test/agent.rb +0 -108
  120. data/lib/deep_test/central_command.rb +0 -165
  121. data/lib/deep_test/cpu_info.rb +0 -22
  122. data/lib/deep_test/demon.rb +0 -25
  123. data/lib/deep_test/distributed/beachhead.rb +0 -104
  124. data/lib/deep_test/distributed/establish_beachhead.rb +0 -19
  125. data/lib/deep_test/distributed/landing_fleet.rb +0 -30
  126. data/lib/deep_test/distributed/landing_ship.rb +0 -60
  127. data/lib/deep_test/distributed/remote_deployment.rb +0 -56
  128. data/lib/deep_test/distributed/shell_environment.rb +0 -50
  129. data/lib/deep_test/distributed/ssh_client_connection_info.rb +0 -14
  130. data/lib/deep_test/failure_message.rb +0 -19
  131. data/lib/deep_test/lib_root.rb +0 -4
  132. data/lib/deep_test/local_deployment.rb +0 -46
  133. data/lib/deep_test/main.rb +0 -41
  134. data/lib/deep_test/metrics/data.rb +0 -34
  135. data/lib/deep_test/metrics/measurement.rb +0 -39
  136. data/lib/deep_test/proxy_io.rb +0 -77
  137. data/lib/deep_test/test/run_test_suite.rb +0 -5
  138. data/lib/telegraph.rb +0 -29
  139. data/lib/telegraph/ack_sequence.rb +0 -14
  140. data/lib/telegraph/logging.rb +0 -20
  141. data/lib/telegraph/message.rb +0 -39
  142. data/lib/telegraph/operator.rb +0 -47
  143. data/lib/telegraph/switchboard.rb +0 -57
  144. data/lib/telegraph/wire.rb +0 -73
  145. data/negative_acceptance_tests/dying_spec.rb +0 -13
  146. data/negative_acceptance_tests/dying_test.rb +0 -13
  147. data/negative_acceptance_tests/failing_spec.rb +0 -9
  148. data/negative_acceptance_tests/kill_agent_one_on_start_work.rb +0 -16
  149. data/negative_acceptance_tests/passing_spec.rb +0 -10
  150. data/negative_acceptance_tests/passing_test.rb +0 -12
  151. data/negative_acceptance_tests/tasks.rake +0 -87
  152. data/negative_acceptance_tests/tests.rb +0 -60
  153. data/test/deep_test/agent_test.rb +0 -175
  154. data/test/deep_test/central_command_test.rb +0 -147
  155. data/test/deep_test/cpu_info_test.rb +0 -33
  156. data/test/deep_test/demon_test.rb +0 -23
  157. data/test/deep_test/distributed/beachhead_test.rb +0 -67
  158. data/test/deep_test/distributed/landing_fleet_test.rb +0 -55
  159. data/test/deep_test/distributed/landing_ship_test.rb +0 -48
  160. data/test/deep_test/distributed/remote_deployment_test.rb +0 -134
  161. data/test/deep_test/distributed/shell_environment_fixtures/set_bar_to_foo +0 -1
  162. data/test/deep_test/distributed/shell_environment_fixtures/set_foo_to_bar +0 -1
  163. data/test/deep_test/distributed/shell_environment_fixtures/set_foo_to_baz +0 -1
  164. data/test/deep_test/distributed/shell_environment_test.rb +0 -108
  165. data/test/deep_test/distributed/ssh_client_connection_info_test.rb +0 -34
  166. data/test/deep_test/local_deployment_test.rb +0 -19
  167. data/test/deep_test/main_test.rb +0 -12
  168. data/test/deep_test/metrics/data_test.rb +0 -22
  169. data/test/deep_test/metrics/measurement_test.rb +0 -18
  170. data/test/deep_test/proxy_io_test.rb +0 -104
@@ -1,107 +1,79 @@
1
1
  require File.dirname(__FILE__) + "/../../test_helper"
2
2
 
3
- module DeepTest
4
- module Test
5
- unit_tests do
6
- test "run yields name for start and finished of underlying suite" do
7
- options = Options.new({})
8
- suite = ::Test::Unit::TestSuite.new("name")
9
- supervised_suite = SupervisedTestSuite.new(suite, TestCentralCommand.start(options))
10
-
11
- yielded = []
12
- supervised_suite.run(stub_everything) do |channel,name|
13
- yielded << [channel,name]
14
- end
15
-
16
- assert_equal [[::Test::Unit::TestSuite::STARTED, "name"],
17
- [::Test::Unit::TestSuite::FINISHED, "name"]], yielded
18
- end
19
-
20
- test "run adds tests to central_command and reads results" do
21
- options = Options.new({})
22
- class AddTestsTestCase < ::Test::Unit::TestCase
23
- test("1") {}
24
- test("2") {assert_equal true, false}
25
- end
26
- central_command = TestCentralCommand.start options
27
- supervised_suite = SupervisedTestSuite.new(AddTestsTestCase.suite, central_command)
28
- result = ::Test::Unit::TestResult.new
29
-
30
- agent = ThreadAgent.new options
31
- Timeout.timeout(5) do
32
- supervised_suite.run(result) {}
33
- end
34
- central_command.done_with_work
35
- agent.wait_until_done
36
-
37
- assert_equal 2, result.run_count
38
- assert_equal 1, result.failure_count
39
- end
40
-
41
- test "agent errors are counted as errors" do
42
- options = Options.new({})
43
- class AgentErrorTestCase < ::Test::Unit::TestCase
44
- test("1") {}
45
- end
3
+ unit_tests do
4
+ test "run yields name for start and finished of underlying suite" do
5
+ suite = Test::Unit::TestSuite.new("name")
6
+ supervised_suite = DeepTest::Test::SupervisedTestSuite.new(suite, DeepTest::SimpleTestBlackboard.new)
7
+
8
+ yielded = []
9
+ supervised_suite.run(stub_everything) do |channel,name|
10
+ yielded << [channel,name]
11
+ end
46
12
 
47
- central_command = TestCentralCommand.start options
48
- supervised_suite = SupervisedTestSuite.new(AgentErrorTestCase.suite, central_command)
49
- result = ::Test::Unit::TestResult.new
13
+ assert_equal [[Test::Unit::TestSuite::STARTED, "name"],
14
+ [Test::Unit::TestSuite::FINISHED, "name"]], yielded
15
+ end
50
16
 
51
- central_command.write_result Agent::Error.new(AgentErrorTestCase.new("test_1"), RuntimeError.new)
52
- capture_stdout {supervised_suite.run(result) {}}
17
+ test "run adds tests to blackboard and reads results" do
18
+ test_case_class = Class.new(Test::Unit::TestCase) do
19
+ test("1") {}
20
+ test("2") {assert_equal true, false}
21
+ end
22
+ blackboard = DeepTest::SimpleTestBlackboard.new
23
+ supervised_suite = DeepTest::Test::SupervisedTestSuite.new(test_case_class.suite, blackboard)
24
+ result = Test::Unit::TestResult.new
53
25
 
54
- assert_equal 1, result.error_count
55
- end
26
+ worker = ThreadWorker.new(blackboard, 2)
27
+ Timeout.timeout(5) do
28
+ supervised_suite.run(result) {}
29
+ end
30
+ worker.wait_until_done
56
31
 
57
- test "multiple agent errors are consolidated to be one error" do
58
- options = Options.new({})
59
- class MultipleAgentErrorTestCase < ::Test::Unit::TestCase
60
- test("1") {}; test("2") {}
61
- end
62
- central_command = TestCentralCommand.start options
63
- supervised_suite = SupervisedTestSuite.new(MultipleAgentErrorTestCase.suite, central_command)
64
- result = ::Test::Unit::TestResult.new
32
+ assert_equal 2, result.run_count
33
+ assert_equal 1, result.failure_count
34
+ end
65
35
 
66
- central_command.write_result Agent::Error.new(MultipleAgentErrorTestCase.new("test_1"), RuntimeError.new)
67
- central_command.write_result Agent::Error.new(MultipleAgentErrorTestCase.new("test_2"), RuntimeError.new)
68
- capture_stdout {supervised_suite.run(result) {}}
36
+ test "worker errors are counted as errors" do
37
+ test_case = Class.new(Test::Unit::TestCase) do
38
+ test("1") {}
39
+ end.new("test_1")
69
40
 
70
- assert_equal 1, result.error_count
71
- end
41
+ blackboard = DeepTest::SimpleTestBlackboard.new
42
+ supervised_suite = DeepTest::Test::SupervisedTestSuite.new(test_case, blackboard)
43
+ result = Test::Unit::TestResult.new
72
44
 
73
- test "run yields test case finished events" do
74
- options = Options.new({})
75
- class RunYieldsTestCase < ::Test::Unit::TestCase
76
- test("1") {}
77
- end
78
- test_case = RunYieldsTestCase.new("test_1")
45
+ blackboard.write_result DeepTest::Worker::Error.new(test_case, RuntimeError.new)
46
+ capture_stdout {supervised_suite.run(result) {}}
79
47
 
80
- central_command = TestCentralCommand.start options
81
- supervised_suite = SupervisedTestSuite.new(test_case, central_command)
48
+ assert_equal 1, result.error_count
49
+ end
82
50
 
83
- yielded = []
51
+ test "run yields test case finished events" do
52
+ test_case = Class.new(Test::Unit::TestCase) do
53
+ test("1") {}
54
+ end.new("test_1")
84
55
 
85
- agent = ThreadAgent.new options
86
- Timeout.timeout(5) do
87
- supervised_suite.run(stub_everything) do |channel,name|
88
- yielded << [channel, name]
89
- end
90
- end
91
- central_command.done_with_work
92
- agent.wait_until_done
56
+ blackboard = DeepTest::SimpleTestBlackboard.new
57
+ supervised_suite = DeepTest::Test::SupervisedTestSuite.new(test_case, blackboard)
93
58
 
94
- assert_equal true, yielded.include?([::Test::Unit::TestCase::FINISHED, test_case.name])
95
- end
59
+ yielded = []
96
60
 
97
- test "has same size as underlying suite" do
98
- options = Options.new({})
99
- suite = ::Test::Unit::TestSuite.new("name")
100
- suite << "test"
101
- supervised_suite = SupervisedTestSuite.new(suite, TestCentralCommand.start(options))
102
-
103
- assert_equal suite.size, supervised_suite.size
61
+ worker = ThreadWorker.new(blackboard, 1)
62
+ Timeout.timeout(5) do
63
+ supervised_suite.run(stub_everything) do |channel,name|
64
+ yielded << [channel, name]
104
65
  end
105
66
  end
67
+ worker.wait_until_done
68
+
69
+ assert_equal true, yielded.include?([::Test::Unit::TestCase::FINISHED, test_case.name])
70
+ end
71
+
72
+ test "has same size as underlying suite" do
73
+ suite = Test::Unit::TestSuite.new("name")
74
+ suite << "test"
75
+ supervised_suite = DeepTest::Test::SupervisedTestSuite.new(suite, DeepTest::SimpleTestBlackboard.new)
76
+
77
+ assert_equal suite.size, supervised_suite.size
106
78
  end
107
79
  end
@@ -1,85 +1,81 @@
1
1
  require File.dirname(__FILE__) + "/../../test_helper"
2
2
 
3
- module DeepTest
4
- module Test
5
- unit_tests do
6
- test "add_to adds correct run_count" do
7
- result_1 = WorkResult.new "test_name"
8
- result_1.add_run
9
- result_1.add_run
10
-
11
- result_2 = ::Test::Unit::TestResult.new
12
- result_1.add_to result_2
13
-
14
- assert_equal 2, result_2.run_count
15
- end
16
-
17
- test "add_to adds correct assertion_count" do
18
- result_1 = WorkResult.new "test_name"
19
- result_1.add_assertion
20
- result_1.add_assertion
21
-
22
- result_2 = ::Test::Unit::TestResult.new
23
- result_1.add_to result_2
24
-
25
- assert_equal 2, result_2.assertion_count
26
- end
27
-
28
- test "add_to adds correct errors" do
29
- result_1 = WorkResult.new "test_name"
30
- result_1.add_error(e = ::Test::Unit::Error.new("test_name", Exception.new))
31
-
32
- result_2 = ::Test::Unit::TestResult.new
33
- result_1.add_to result_2
34
-
35
- assert_equal [e], result_2.instance_variable_get(:@errors)
36
- end
37
-
38
-
39
- test "add_to adds correct failures" do
40
- result_1 = WorkResult.new "test_name"
41
- result_1.add_failure(:failure)
42
-
43
- result_2 = ::Test::Unit::TestResult.new
44
- result_1.add_to result_2
45
-
46
- assert_equal [:failure], result_2.instance_variable_get(:@failures)
47
- end
48
-
49
- test "add_error wraps exceptions" do
50
- result = WorkResult.new "test_name"
51
- result.add_error ::Test::Unit::Error.new(
52
- "test_wraps_exceptions",
53
- SomeCustomException.new("the exception message")
54
- )
55
-
56
- error = result.instance_variable_get("@errors").last
57
- assert_kind_of MarshallableExceptionWrapper, error.exception
58
- end
59
-
60
- test "add_to unwraps exception" do
61
- work_result = WorkResult.new "test_name"
62
- work_result.add_error ::Test::Unit::Error.new(
63
- "test_wraps_exceptions",
64
- SomeCustomException.new("the exception message")
65
- )
66
-
67
- test_result = ::Test::Unit::TestResult.new
68
- work_result.add_to(test_result)
69
-
70
- error = test_result.instance_variable_get("@errors").last
71
- assert_kind_of SomeCustomException, error.exception
72
- end
73
-
74
- test "failed due to deadlock" do
75
- result = WorkResult.new "test_name"
76
- begin
77
- raise FakeDeadlockError.new
78
- rescue => ex
79
- result.add_error ::Test::Unit::Error.new("test_", ex)
80
- end
81
- assert_equal true, result.failed_due_to_deadlock?
82
- end
3
+ unit_tests do
4
+ test "add_to adds correct run_count" do
5
+ result_1 = DeepTest::Test::WorkResult.new "test_name"
6
+ result_1.add_run
7
+ result_1.add_run
8
+
9
+ result_2 = Test::Unit::TestResult.new
10
+ result_1.add_to result_2
11
+
12
+ assert_equal 2, result_2.run_count
13
+ end
14
+
15
+ test "add_to adds correct assertion_count" do
16
+ result_1 = DeepTest::Test::WorkResult.new "test_name"
17
+ result_1.add_assertion
18
+ result_1.add_assertion
19
+
20
+ result_2 = Test::Unit::TestResult.new
21
+ result_1.add_to result_2
22
+
23
+ assert_equal 2, result_2.assertion_count
24
+ end
25
+
26
+ test "add_to adds correct errors" do
27
+ result_1 = DeepTest::Test::WorkResult.new "test_name"
28
+ result_1.add_error(e = Test::Unit::Error.new("test_name", Exception.new))
29
+
30
+ result_2 = Test::Unit::TestResult.new
31
+ result_1.add_to result_2
32
+
33
+ assert_equal [e], result_2.instance_variable_get(:@errors)
34
+ end
35
+
36
+
37
+ test "add_to adds correct failures" do
38
+ result_1 = DeepTest::Test::WorkResult.new "test_name"
39
+ result_1.add_failure(:failure)
40
+
41
+ result_2 = Test::Unit::TestResult.new
42
+ result_1.add_to result_2
43
+
44
+ assert_equal [:failure], result_2.instance_variable_get(:@failures)
45
+ end
46
+
47
+ test "add_error wraps exceptions" do
48
+ result = DeepTest::Test::WorkResult.new "test_name"
49
+ result.add_error Test::Unit::Error.new(
50
+ "test_wraps_exceptions",
51
+ SomeCustomException.new("the exception message")
52
+ )
53
+
54
+ error = result.instance_variable_get("@errors").last
55
+ assert_kind_of DeepTest::MarshallableExceptionWrapper, error.exception
56
+ end
57
+
58
+ test "add_to unwraps exception" do
59
+ work_result = DeepTest::Test::WorkResult.new "test_name"
60
+ work_result.add_error Test::Unit::Error.new(
61
+ "test_wraps_exceptions",
62
+ SomeCustomException.new("the exception message")
63
+ )
64
+
65
+ test_result = ::Test::Unit::TestResult.new
66
+ work_result.add_to(test_result)
67
+
68
+ error = test_result.instance_variable_get("@errors").last
69
+ assert_kind_of SomeCustomException, error.exception
70
+ end
71
+
72
+ test "failed due to deadlock" do
73
+ result = DeepTest::Test::WorkResult.new "test_name"
74
+ begin
75
+ raise FakeDeadlockError.new
76
+ rescue => ex
77
+ result.add_error Test::Unit::Error.new("test_", ex)
83
78
  end
79
+ assert_equal true, result.failed_due_to_deadlock?
84
80
  end
85
81
  end
@@ -1,63 +1,61 @@
1
1
  require File.dirname(__FILE__) + "/../../test_helper"
2
2
 
3
- module DeepTest
4
- module Test
5
- unit_tests do
6
- test "returns passed result for passing test" do
7
- work_unit = WorkUnit.new TestFactory.passing_test
8
- assert_equal true, work_unit.run.passed?
9
- end
3
+ unit_tests do
4
+ test "returns passed result for passing test" do
5
+ work_unit = DeepTest::Test::WorkUnit.new TestFactory.passing_test
6
+ assert_equal true, work_unit.run.passed?
7
+ end
10
8
 
11
- test "returns failed result for failing test" do
12
- work_unit = WorkUnit.new TestFactory.failing_test
13
- assert_equal false, work_unit.run.passed?
14
- end
9
+ test "returns failed result for failing test" do
10
+ work_unit = DeepTest::Test::WorkUnit.new TestFactory.failing_test
11
+ assert_equal false, work_unit.run.passed?
12
+ end
15
13
 
16
- test "returns result with identifier of test name" do
17
- test = TestFactory.passing_test
18
- work_unit = WorkUnit.new test
19
- assert_equal test.name, work_unit.run.identifier
20
- end
14
+ test "returns result with identifier of test name" do
15
+ test = TestFactory.passing_test
16
+ work_unit = DeepTest::Test::WorkUnit.new test
17
+ assert_equal test.name, work_unit.run.identifier
18
+ end
21
19
 
22
- test "capturing stdout" do
23
- work_unit = WorkUnit.new TestFactory.passing_test_with_stdout
24
- assert_equal "message printed to stdout", work_unit.run.output
25
- end
26
-
27
- test "retry on deadlock" do
28
- work_unit = WorkUnit.new TestFactory.deadlock_once_test
29
- result = work_unit.run
30
- assert_equal 0, result.error_count
31
- assert_equal 0, result.failure_count
32
- assert_equal 1, result.assertion_count
33
- end
34
-
35
- test "skip on deadlock twice" do
36
- work_unit = WorkUnit.new TestFactory.deadlock_always_test
37
- result = work_unit.run
38
- assert_equal 0, result.error_count
39
- assert_equal 0, result.failure_count
40
- assert_equal 0, result.assertion_count
41
- end
42
-
43
- test "set test_name as identifier on deadlock" do
44
- test = TestFactory.deadlock_always_test
45
- work_unit = WorkUnit.new test
46
- assert_equal test.name, work_unit.run.identifier
47
- end
20
+ test "capturing stdout" do
21
+ work_unit = DeepTest::Test::WorkUnit.new TestFactory.passing_test_with_stdout
22
+ assert_equal "message printed to stdout", work_unit.run.output
23
+ end
24
+
25
+ test "retry on deadlock" do
26
+ work_unit = DeepTest::Test::WorkUnit.new TestFactory.deadlock_once_test
27
+ result = work_unit.run
28
+ assert_equal 0, result.error_count
29
+ assert_equal 0, result.failure_count
30
+ assert_equal 1, result.assertion_count
31
+ end
32
+
33
+ test "skip on deadlock twice" do
34
+ work_unit = DeepTest::Test::WorkUnit.new TestFactory.deadlock_always_test
35
+ result = work_unit.run
36
+ assert_equal 0, result.error_count
37
+ assert_equal 0, result.failure_count
38
+ assert_equal 0, result.assertion_count
39
+ end
40
+
41
+ test "set test_name as identifier on deadlock" do
42
+ test = TestFactory.deadlock_always_test
43
+ work_unit = DeepTest::Test::WorkUnit.new test
44
+ assert_equal test.name, work_unit.run.identifier
45
+ end
48
46
 
49
- test "equality is based on test_case" do
50
- test_case_1 = TestFactory.passing_test
51
- test_case_2 = TestFactory.failing_test
52
- assert_equal WorkUnit.new(test_case_1), WorkUnit.new(test_case_1)
47
+ test "equality is based on test_case" do
48
+ test_case_1 = TestFactory.passing_test
49
+ test_case_2 = TestFactory.failing_test
50
+ assert_equal DeepTest::Test::WorkUnit.new(test_case_1),
51
+ DeepTest::Test::WorkUnit.new(test_case_1)
53
52
 
54
- assert_not_equal WorkUnit.new(test_case_1), WorkUnit.new(test_case_2)
55
- end
53
+ assert_not_equal DeepTest::Test::WorkUnit.new(test_case_1),
54
+ DeepTest::Test::WorkUnit.new(test_case_2)
55
+ end
56
56
 
57
- test "to_s is delegated to test case" do
58
- test_case = TestFactory.passing_test
59
- assert_equal test_case.to_s, WorkUnit.new(test_case).to_s
60
- end
61
- end
57
+ test "to_s is delegated to test case" do
58
+ test_case = TestFactory.passing_test
59
+ assert_equal test_case.to_s, DeepTest::Test::WorkUnit.new(test_case).to_s
62
60
  end
63
61
  end
@@ -1,15 +1,43 @@
1
1
  require File.dirname(__FILE__) + '/../test_helper'
2
2
 
3
- module DeepTest
4
- unit_tests do
5
- test "should support listener" do
6
- t = TestTask.new :deep_test do |t|
7
- t.stubs(:desc)
8
- t.stubs(:task)
9
- t.listener = "A"
10
- end
11
- assert_equal "A", t.instance_variable_get(:@options).listener
12
- assert_equal "A", t.listener
3
+ unit_tests do
4
+ test "should support setting timeout_in_seconds" do
5
+ t = DeepTest::TestTask.new :deep_test do |t|
6
+ t.stubs(:desc)
7
+ t.stubs(:task)
8
+ t.timeout_in_seconds = 20
13
9
  end
10
+ assert_equal 20, t.instance_variable_get(:@options).timeout_in_seconds
11
+ assert_equal 20, t.timeout_in_seconds
12
+ end
13
+
14
+ test "should support setting distributed_server" do
15
+ t = DeepTest::TestTask.new :deep_test do |t|
16
+ t.stubs(:desc)
17
+ t.stubs(:task)
18
+ t.distributed_server = "uri"
19
+ end
20
+ assert_equal "uri", t.instance_variable_get(:@options).distributed_server
21
+ assert_equal "uri", t.distributed_server
22
+ end
23
+
24
+ test "should support worker_listener" do
25
+ t = DeepTest::TestTask.new :deep_test do |t|
26
+ t.stubs(:desc)
27
+ t.stubs(:task)
28
+ t.worker_listener = "A"
29
+ end
30
+ assert_equal "A", t.instance_variable_get(:@options).worker_listener
31
+ assert_equal "A", t.worker_listener
32
+ end
33
+
34
+ test "should support server_port" do
35
+ t = DeepTest::TestTask.new :deep_test do |t|
36
+ t.stubs(:desc)
37
+ t.stubs(:task)
38
+ t.server_port = 10
39
+ end
40
+ assert_equal 10, t.instance_variable_get(:@options).server_port
41
+ assert_equal 10, t.server_port
14
42
  end
15
43
  end