xli-dtr 0.0.5 → 1.0.0

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 (76) hide show
  1. data/CHANGES +7 -0
  2. data/README.rdoc +208 -0
  3. data/Rakefile +54 -63
  4. data/TODO +7 -16
  5. data/bin/dtr +26 -20
  6. data/dtr.gemspec +7 -10
  7. data/lib/dtr/agent/brain.rb +13 -22
  8. data/lib/dtr/agent/herald.rb +24 -14
  9. data/lib/dtr/agent/runner.rb +22 -35
  10. data/lib/dtr/agent/sync_codebase.rb +1 -1
  11. data/lib/dtr/agent/sync_logger.rb +38 -8
  12. data/lib/dtr/agent/test_case.rb +53 -0
  13. data/lib/dtr/agent/test_unit.rb +3 -5
  14. data/lib/dtr/agent/worker.rb +29 -32
  15. data/lib/dtr/agent/working_env_ext.rb +4 -2
  16. data/lib/dtr/agent.rb +2 -1
  17. data/lib/dtr/facade.rb +65 -0
  18. data/lib/dtr/master.rb +3 -3
  19. data/lib/dtr/monitor.rb +69 -11
  20. data/lib/dtr/raketasks.rb +91 -19
  21. data/lib/dtr/shared/adapter.rb +29 -26
  22. data/lib/dtr/shared/configuration.rb +39 -11
  23. data/lib/dtr/shared/message_decorator.rb +1 -1
  24. data/lib/dtr/shared/ruby_ext.rb +1 -25
  25. data/lib/dtr/shared/service/agent.rb +5 -1
  26. data/lib/dtr/shared/service/file.rb +1 -1
  27. data/lib/dtr/shared/service/rinda.rb +11 -3
  28. data/lib/dtr/shared/service/runner.rb +6 -5
  29. data/lib/dtr/shared/service/working_env.rb +1 -1
  30. data/lib/dtr/shared/service.rb +1 -1
  31. data/lib/dtr/shared/sync_codebase/{codebase.rb → copiable_package.rb} +13 -5
  32. data/lib/dtr/shared/sync_codebase/master_ext.rb +6 -18
  33. data/lib/dtr/shared/sync_codebase/package.rb +16 -2
  34. data/lib/dtr/shared/sync_codebase/sync_service.rb +7 -12
  35. data/lib/dtr/shared/sync_codebase.rb +2 -2
  36. data/lib/dtr/shared/sync_logger.rb +6 -14
  37. data/lib/dtr/shared/utils/cmd.rb +5 -5
  38. data/lib/dtr/shared/utils/env_store.rb +1 -1
  39. data/lib/dtr/shared/utils/logger.rb +33 -17
  40. data/lib/dtr/shared/utils.rb +1 -1
  41. data/lib/dtr/shared/working_env.rb +2 -2
  42. data/lib/dtr/shared.rb +1 -1
  43. data/lib/dtr/test_unit/drb_test_runner.rb +5 -14
  44. data/lib/dtr/test_unit/injection.rb +1 -2
  45. data/lib/dtr/test_unit/test_case_injection.rb +13 -13
  46. data/lib/dtr/test_unit/test_suite_injection.rb +24 -0
  47. data/lib/dtr/test_unit/testrunnermediator_injection.rb +11 -11
  48. data/lib/dtr/test_unit/thread_safe_test_result.rb +1 -3
  49. data/lib/dtr/test_unit/worker_club.rb +7 -7
  50. data/lib/dtr/test_unit.rb +2 -1
  51. data/lib/dtr/test_unit_injection.rb +1 -1
  52. data/lib/dtr.rb +5 -36
  53. data/test/acceptance/agent_working_env_test.rb +28 -34
  54. data/test/acceptance/dtr_package_task_test.rb +13 -3
  55. data/test/acceptance/general_test.rb +139 -83
  56. data/test/acceptance/raketasks_test.rb +23 -0
  57. data/test/acceptance/sync_codebase_test.rb +12 -13
  58. data/test/acceptance/sync_logger_test.rb +12 -21
  59. data/test/agent_helper.rb +8 -10
  60. data/test/logger_stub.rb +4 -0
  61. data/test/test_helper.rb +33 -5
  62. data/test/unit/adapter_test.rb +58 -16
  63. data/test/unit/configuration_test.rb +44 -0
  64. data/test/unit/facade_test.rb +41 -0
  65. data/test/unit/logger_test.rb +72 -0
  66. data/test/unit/test_unit_test.rb +0 -21
  67. data/testdata/Rakefile +1 -5
  68. data/testdata/hacked_run_method_test_case.rb +15 -0
  69. data/testdata/raketasks/Rakefile +7 -0
  70. data/testdata/raketasks/success_test_case.rb +6 -0
  71. data/testdata/sleep_3_secs_test_case.rb +9 -0
  72. data/testdata/{should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process → verify_dir_pwd}/verify_dir_pwd_test_case.rb +1 -1
  73. metadata +33 -13
  74. data/README +0 -182
  75. data/install.rb +0 -88
  76. /data/testdata/{should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process → verify_dir_pwd}/Rakefile +0 -0
@@ -2,18 +2,20 @@ require File.dirname(__FILE__) + '/../test_helper'
2
2
 
3
3
  include DTR::AgentHelper
4
4
 
5
- class AdapterTests < Test::Unit::TestCase
5
+ class AdapterTest < Test::Unit::TestCase
6
6
  include DTR::Adapter::Master
7
7
  include DTR::Adapter::Follower
8
8
 
9
9
  def setup
10
+ @host_ip = nil
10
11
  @timeout = false
11
12
  @messages = []
12
- DTR.configuration.follower_listen_sleep_timeout = 1
13
+ DTR.logger('test.log')
14
+ DTR.configuration.follower_listen_heartbeat_timeout = 1
13
15
  end
14
16
 
15
17
  def teardown
16
- DTR.configuration.follower_listen_sleep_timeout = 15
18
+ clear_configuration
17
19
  end
18
20
 
19
21
  def test_should_be_sleep_if_never_wakeup
@@ -28,12 +30,12 @@ class AdapterTests < Test::Unit::TestCase
28
30
 
29
31
  def test_wakeup_by_broadcast_message
30
32
  assert !wakeup?
31
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} #{Socket.gethostname}:4567")
33
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 4567")
32
34
  assert wakeup?
33
35
  end
34
36
 
35
37
  def test_should_be_sleep_after_hypnotized_waked_up_agents
36
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} #{Socket.gethostname}:4567")
38
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 4567")
37
39
  assert wakeup?
38
40
  hypnotize_agents
39
41
  assert sleep?
@@ -56,27 +58,31 @@ class AdapterTests < Test::Unit::TestCase
56
58
  end
57
59
 
58
60
  def test_should_not_be_sleep_when_sleep_message_is_sent_from_different_port_with_wakeup_message
59
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} hostname:1234")
61
+ @host_ip = '10.18.1.1'
62
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
60
63
  assert wakeup?
61
64
  #sleep message should be ignored
62
- broadcast('address', "#{DTR::Adapter::SLEEP_MESSAGE} hostname:4567")
65
+ broadcast('address', "#{DTR::Adapter::SLEEP_MESSAGE} 4567")
63
66
  #wakup message for keep it wakeup
64
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} hostname:1234")
67
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
65
68
  assert !sleep?
66
69
  end
67
70
 
68
71
  def test_should_not_be_sleep_when_sleep_message_is_sent_from_different_hostname_with_wakeup_message
69
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} xli.local:1234")
72
+ @host_ip = '10.18.1.1'
73
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
70
74
  assert wakeup?
71
75
  #sleep message should be ignored
72
- broadcast('address', "#{DTR::Adapter::SLEEP_MESSAGE} dtr.remote:1234")
76
+ @host_ip = '192.168.1.1'
77
+ broadcast('address', "#{DTR::Adapter::SLEEP_MESSAGE} 1234")
73
78
  #wakup message for keep it wakeup
74
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} xli.local:1234")
79
+ @host_ip = '10.18.1.1'
80
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
75
81
  assert !sleep?
76
82
  end
77
83
 
78
84
  def test_should_update_rinda_server_port_parsed_from_wakeup_message
79
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} hostname:4567")
85
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 4567")
80
86
  assert wakeup?
81
87
  assert_equal 4567, DTR.configuration.rinda_server_port
82
88
  end
@@ -89,19 +95,55 @@ class AdapterTests < Test::Unit::TestCase
89
95
  end
90
96
 
91
97
  def test_should_be_sleep_when_timeout_on_listen_to_host_sending_wakeup_message
92
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} xli.local:1234")
98
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
93
99
  assert wakeup?
94
- broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} dtr.remote:1234")
100
+ @host_ip = 'dtr.remote'
101
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
95
102
  sleep(2)
96
103
  assert sleep?
97
104
  end
98
105
 
106
+ def test_should_match_group_configured_when_receive_wakeup_cmd
107
+ DTR.configuration.group = 'mingle'
108
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
109
+ assert !wakeup?
110
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234 mingle")
111
+ assert wakeup?
112
+ end
113
+
114
+ def test_should_not_need_match_group_configured_when_receive_sleep_cmd
115
+ DTR.configuration.group = 'mingle'
116
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234 mingle")
117
+ assert wakeup?
118
+ broadcast('address', "#{DTR::Adapter::SLEEP_MESSAGE} 1234")
119
+ assert sleep?
120
+ end
121
+
122
+ def test_do_wakeup_agents_should_include_group_configured
123
+ DTR.configuration.group = 'mingle'
124
+ do_wakeup_agents
125
+ assert wakeup?
126
+ end
127
+
128
+ def test_should_reset_broadcast_configuration_as_master_process_ip
129
+ @host_ip = '10.18.1.1'
130
+ broadcast('address', "#{DTR::Adapter::WAKEUP_MESSAGE} 1234")
131
+ assert wakeup?
132
+ assert_equal ['10.18.1.1'], DTR.configuration.broadcast_list
133
+ end
134
+
99
135
  def listen
100
136
  raise Timeout::Error.new('timeout') if @timeout
101
- @messages.shift.to_s.split
137
+ cmd, port, group, host_ip = @messages.shift.to_s.split
138
+ if host_ip.nil?
139
+ host_ip = group
140
+ group = nil
141
+ end
142
+ [cmd, "#{host_ip}:#{port}", group]
102
143
  end
103
144
 
104
145
  def broadcast(it, msg)
105
- @messages << msg
146
+ host_ip = @host_ip || Socket.gethostname
147
+ @messages << "#{msg} #{host_ip}"
106
148
  end
107
149
  end
@@ -0,0 +1,44 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class ConfigurationTest < Test::Unit::TestCase
4
+ def teardown
5
+ clear_configuration
6
+ end
7
+
8
+ def test_should_not_save_rinda_server_port
9
+ DTR.configuration.rinda_server_port = '3456'
10
+ assert_equal '3456', DTR.configuration.rinda_server_port
11
+ assert_nil DTR::EnvStore.new[:rinda_server_port]
12
+ end
13
+
14
+ def test_group_defualt_is_dangerous_group
15
+ assert_nil DTR.configuration.group
16
+ end
17
+
18
+ def test_group
19
+ DTR.configuration.group = 'mingle'
20
+ assert_equal 'mingle', DTR.configuration.group
21
+ DTR.configuration.save
22
+ assert_equal 'mingle', DTR::EnvStore.new[:group]
23
+ end
24
+
25
+ def test_should_save_as_nil_when_group_is_blank
26
+ DTR.configuration.group = ''
27
+ assert_nil DTR.configuration.group
28
+ DTR.configuration.save
29
+ assert_nil DTR::EnvStore.new[:group]
30
+ end
31
+
32
+ def test_shoul_convert_space_in_group_name_to_underscore
33
+ DTR.configuration.group = 'mingle group'
34
+ assert_equal 'mingle_group', DTR.configuration.group
35
+ DTR.configuration.save
36
+ assert_equal 'mingle_group', DTR::EnvStore.new[:group]
37
+ end
38
+
39
+ def test_load
40
+ DTR::EnvStore.new[:group] = 'new group'
41
+ DTR.configuration.load
42
+ assert_equal 'new group', DTR.configuration.group
43
+ end
44
+ end
@@ -0,0 +1,41 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'dtr/facade'
3
+
4
+ class FacadeTest < Test::Unit::TestCase
5
+ include DTR::Facade
6
+
7
+ def teardown
8
+ clear_configuration
9
+ end
10
+
11
+ def test_lib_path
12
+ expected = File.expand_path(File.dirname(__FILE__) + '/../../lib')
13
+ assert_equal expected, lib_path
14
+ end
15
+
16
+ def test_save_broadcast_list
17
+ self.broadcast_list = ['10.18.255.255']
18
+ assert_equal ['10.18.255.255'], DTR::EnvStore.new[:broadcast_list]
19
+ end
20
+
21
+ def test_save_group
22
+ self.group = 'mingle'
23
+ assert_equal 'mingle', DTR::EnvStore.new[:group]
24
+ end
25
+
26
+ def test_save_agent_listen_port
27
+ self.agent_listen_port = '7890'
28
+ assert_equal '7890', DTR::EnvStore.new[:agent_listen_port]
29
+ end
30
+
31
+ def fork_and_kill_process
32
+ pid = fork_process do
33
+ loop do
34
+ end
35
+ end
36
+ kill_process pid
37
+ Timeout.timeout(1) do
38
+ Process.waitall
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,72 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ require 'dtr/agent/sync_logger'
4
+ require 'stringio'
5
+ #logger related unit test, including sync_logger
6
+ class LoggerTest < Test::Unit::TestCase
7
+ def setup
8
+ @msg = nil
9
+ end
10
+
11
+ def teardown
12
+ DTR.logger = DTR.create_default_logger(nil)
13
+ end
14
+
15
+ def test_should_not_send_message_when_message_logger_level_is_not_enough
16
+ DTR.logger = DTR::SyncLogger::MessageDecoratedLogger.new(self)
17
+ @msg = nil
18
+ DTR.debug('debug msg')
19
+ assert_nil @msg
20
+ end
21
+
22
+ def test_send_message
23
+ DTR.logger = DTR::SyncLogger::MessageDecoratedLogger.new(self)
24
+ DTR.info('info msg')
25
+ assert_equal "From #{Socket.gethostname}: info msg", @msg
26
+ DTR.info('error msg')
27
+ assert_equal "From #{Socket.gethostname}: error msg", @msg
28
+ end
29
+
30
+ def test_send_message_by_block_should_be_sent_as_string_msg
31
+ DTR.logger = DTR::SyncLogger::MessageDecoratedLogger.new(self)
32
+ DTR.info { 'info msg' }
33
+ assert_equal "From #{Socket.gethostname}: info msg", @msg
34
+ end
35
+
36
+ def test_should_output_error_into_stderr
37
+ logs = catch_stderr_output do
38
+ DTR.debug {'debug info'}
39
+ DTR.info {'info info'}
40
+ DTR.error {'error info'}
41
+ end
42
+ assert(/error info/ =~ logs)
43
+ assert(/info info/ !~ logs)
44
+ assert(/debug info/ !~ logs)
45
+ end
46
+
47
+ def catch_stderr_output
48
+ stderr = $stderr
49
+ $stderr = StringIO.new
50
+ yield
51
+ $stderr.rewind
52
+ $stderr.read
53
+ ensure
54
+ $stderr = stderr
55
+ end
56
+
57
+ def level
58
+ Logger::INFO
59
+ end
60
+
61
+ def debug(msg)
62
+ @msg = msg
63
+ end
64
+
65
+ def error(msg)
66
+ @msg = msg
67
+ end
68
+
69
+ def info(msg)
70
+ @msg = msg
71
+ end
72
+ end
@@ -13,33 +13,12 @@ class TestUnitTest < Test::Unit::TestCase
13
13
  assert Test::Unit::UI::TestRunnerMediator.respond_to?(:reject_dtr)
14
14
  assert Test::Unit::UI::TestRunnerMediator.method_defined?(:run_suite_without_dtr_injection)
15
15
  assert Test::Unit::UI::TestRunnerMediator.private_method_defined?(:create_result_without_thread_safe)
16
- assert !Test::Unit::TestCase.respond_to?(:reject_dtr)
17
- assert !Test::Unit::TestCase.method_defined?(:run_without_dtr_injection)
18
- end
19
-
20
- def test_inject_testcase
21
- Test::Unit::TestCase.send(:include, DTR::TestUnit::TestCaseInjection)
22
- begin
23
- assert Test::Unit::TestCase.respond_to?(:reject_dtr)
24
- assert Test::Unit::TestCase.method_defined?(:run_without_dtr_injection)
25
- ensure
26
- Test::Unit::TestCase.reject_dtr
27
- end
28
- assert !Test::Unit::TestCase.respond_to?(:reject_dtr)
29
- assert !Test::Unit::TestCase.method_defined?(:run_without_dtr_injection)
30
16
  end
31
17
 
32
18
  def test_reject
33
19
  DTR.inject
34
20
  DTR.reject
35
- test_case = Test::Unit::TestCase.new('name')
36
- assert_false test_case.respond_to?(:run_without_dtr_injection)
37
- assert test_case.respond_to?(:run)
38
-
39
- assert !Test::Unit::TestCase.respond_to?(:reject_dtr)
40
21
  assert !Test::Unit::UI::TestRunnerMediator.respond_to?(:reject_dtr)
41
-
42
- assert !Test::Unit::TestCase.method_defined?(:run_without_dtr_injection)
43
22
  assert !Test::Unit::UI::TestRunnerMediator.method_defined?(:run_suite_without_dtr_injection)
44
23
  assert !Test::Unit::UI::TestRunnerMediator.private_method_defined?(:create_result_without_thread_safe)
45
24
  end
data/testdata/Rakefile CHANGED
@@ -5,11 +5,7 @@ require 'rake/testtask'
5
5
  desc "Default Task"
6
6
  task :default => :dtr
7
7
 
8
- DTR::TestTask.new :dtr do |t|
8
+ DTR::TestTask.new do |t|
9
9
  t.test_files = FileList['*test_case.rb']
10
10
  t.processes = 2
11
11
  end
12
-
13
- DTR::PackageTask.new do |p|
14
- p.package_files.include("**/*")
15
- end
@@ -0,0 +1,15 @@
1
+ require 'test/unit'
2
+
3
+ class HackedRunMethodTestCase < Test::Unit::TestCase
4
+
5
+ alias_method :run_without_hack, :run
6
+ def run(*args, &block)
7
+ UDPSocket.open.bind('', 9999)
8
+ run_without_hack(*args, &block)
9
+ end
10
+
11
+ def test_succeeded
12
+ end
13
+
14
+ end
15
+
@@ -0,0 +1,7 @@
1
+ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../../lib')
2
+ require 'dtr/raketasks'
3
+ DTR.group = 'dtr acceptance tests'
4
+ DTR::TestTask.new do |t|
5
+ t.test_files = FileList['success_test_case.rb']
6
+ t.processes = 0
7
+ end
@@ -0,0 +1,6 @@
1
+ require 'test/unit'
2
+ class SuccessTestCase < Test::Unit::TestCase
3
+ def test_succeeded
4
+ assert true
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+
3
+ class Sleep3SecsTestCase < Test::Unit::TestCase
4
+
5
+ def test_sleep_3_sec
6
+ sleep(3)
7
+ end
8
+
9
+ end
@@ -3,7 +3,7 @@ require 'test/unit'
3
3
  class VerifyDirPwdTestCase < Test::Unit::TestCase
4
4
 
5
5
  def test_should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process
6
- assert_equal 'should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process', Dir.pwd.split('/').last
6
+ assert_equal 'verify_dir_pwd', Dir.pwd.split('/').last
7
7
  end
8
8
 
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xli-dtr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Li Xiao
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-13 00:00:00 -07:00
12
+ date: 2008-10-09 00:00:00 -07:00
13
13
  default_executable: dtr
14
14
  dependencies: []
15
15
 
@@ -19,18 +19,23 @@ executables:
19
19
  - dtr
20
20
  extensions: []
21
21
 
22
- extra_rdoc_files: []
23
-
22
+ extra_rdoc_files:
23
+ - README.rdoc
24
+ - LICENSE.txt
25
+ - TODO
26
+ - CHANGES
24
27
  files:
25
28
  - lib/dtr/agent/brain.rb
26
29
  - lib/dtr/agent/herald.rb
27
30
  - lib/dtr/agent/runner.rb
28
31
  - lib/dtr/agent/sync_codebase.rb
29
32
  - lib/dtr/agent/sync_logger.rb
33
+ - lib/dtr/agent/test_case.rb
30
34
  - lib/dtr/agent/test_unit.rb
31
35
  - lib/dtr/agent/worker.rb
32
36
  - lib/dtr/agent/working_env_ext.rb
33
37
  - lib/dtr/agent.rb
38
+ - lib/dtr/facade.rb
34
39
  - lib/dtr/master.rb
35
40
  - lib/dtr/monitor.rb
36
41
  - lib/dtr/raketasks.rb
@@ -44,7 +49,7 @@ files:
44
49
  - lib/dtr/shared/service/runner.rb
45
50
  - lib/dtr/shared/service/working_env.rb
46
51
  - lib/dtr/shared/service.rb
47
- - lib/dtr/shared/sync_codebase/codebase.rb
52
+ - lib/dtr/shared/sync_codebase/copiable_package.rb
48
53
  - lib/dtr/shared/sync_codebase/master_ext.rb
49
54
  - lib/dtr/shared/sync_codebase/package.rb
50
55
  - lib/dtr/shared/sync_codebase/sync_service.rb
@@ -59,6 +64,7 @@ files:
59
64
  - lib/dtr/test_unit/drb_test_runner.rb
60
65
  - lib/dtr/test_unit/injection.rb
61
66
  - lib/dtr/test_unit/test_case_injection.rb
67
+ - lib/dtr/test_unit/test_suite_injection.rb
62
68
  - lib/dtr/test_unit/testrunnermediator_injection.rb
63
69
  - lib/dtr/test_unit/thread_safe_test_result.rb
64
70
  - lib/dtr/test_unit/worker_club.rb
@@ -68,17 +74,22 @@ files:
68
74
  - bin/dtr
69
75
  - CHANGES
70
76
  - dtr.gemspec
71
- - install.rb
72
77
  - lib
73
78
  - LICENSE.TXT
74
79
  - Rakefile
75
- - README
80
+ - README.rdoc
76
81
  - TODO
77
- has_rdoc: false
82
+ - LICENSE.txt
83
+ has_rdoc: true
78
84
  homepage: http://github.com/xli/dtr/tree/master
79
85
  post_install_message:
80
- rdoc_options: []
81
-
86
+ rdoc_options:
87
+ - --line-numbers
88
+ - --inline-source
89
+ - --main
90
+ - README.rdoc
91
+ - --title
92
+ - "\"DTR -- Distributed Test Runner"
82
93
  require_paths:
83
94
  - lib
84
95
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -104,12 +115,16 @@ test_files:
104
115
  - test/acceptance/agent_working_env_test.rb
105
116
  - test/acceptance/dtr_package_task_test.rb
106
117
  - test/acceptance/general_test.rb
118
+ - test/acceptance/raketasks_test.rb
107
119
  - test/acceptance/sync_codebase_test.rb
108
120
  - test/acceptance/sync_logger_test.rb
109
121
  - test/agent_helper.rb
110
122
  - test/logger_stub.rb
111
123
  - test/test_helper.rb
112
124
  - test/unit/adapter_test.rb
125
+ - test/unit/configuration_test.rb
126
+ - test/unit/facade_test.rb
127
+ - test/unit/logger_test.rb
113
128
  - test/unit/test_unit_test.rb
114
129
  - test/unit/working_env_test.rb
115
130
  - testdata/a_failed_test_case.rb
@@ -120,13 +135,18 @@ test_files:
120
135
  - testdata/another_project
121
136
  - testdata/another_project/passed_test_case.rb
122
137
  - testdata/another_project/Rakefile
138
+ - testdata/hacked_run_method_test_case.rb
123
139
  - testdata/is_required_by_a_test.rb
124
140
  - testdata/lib
125
141
  - testdata/lib/lib_test_case.rb
126
142
  - testdata/package_task_test_rakefile
127
143
  - testdata/Rakefile
144
+ - testdata/raketasks
145
+ - testdata/raketasks/Rakefile
146
+ - testdata/raketasks/success_test_case.rb
128
147
  - testdata/scenario_test_case.rb
129
148
  - testdata/setup_agent_env_test_case.rb
130
- - testdata/should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process
131
- - testdata/should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process/Rakefile
132
- - testdata/should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process/verify_dir_pwd_test_case.rb
149
+ - testdata/sleep_3_secs_test_case.rb
150
+ - testdata/verify_dir_pwd
151
+ - testdata/verify_dir_pwd/Rakefile
152
+ - testdata/verify_dir_pwd/verify_dir_pwd_test_case.rb