dtr 0.0.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/CHANGES +7 -0
  2. data/LICENSE.txt +203 -0
  3. data/README.rdoc +208 -0
  4. data/Rakefile +64 -205
  5. data/TODO +8 -2
  6. data/bin/dtr +27 -60
  7. data/dtr.gemspec +8 -11
  8. data/lib/dtr.rb +5 -94
  9. data/lib/dtr/agent.rb +38 -0
  10. data/lib/dtr/agent/brain.rb +57 -0
  11. data/lib/dtr/agent/herald.rb +60 -0
  12. data/lib/dtr/agent/runner.rb +87 -0
  13. data/lib/dtr/agent/sync_codebase.rb +44 -0
  14. data/lib/dtr/agent/sync_logger.rb +70 -0
  15. data/lib/dtr/agent/test_case.rb +53 -0
  16. data/lib/dtr/agent/test_unit.rb +40 -0
  17. data/lib/dtr/agent/worker.rb +89 -0
  18. data/lib/dtr/agent/working_env_ext.rb +47 -0
  19. data/lib/dtr/facade.rb +65 -0
  20. data/lib/dtr/master.rb +40 -0
  21. data/lib/dtr/monitor.rb +95 -0
  22. data/lib/dtr/raketasks.rb +155 -22
  23. data/lib/dtr/shared.rb +24 -0
  24. data/lib/dtr/shared/adapter.rb +115 -0
  25. data/lib/dtr/shared/configuration.rb +104 -0
  26. data/lib/dtr/shared/message_decorator.rb +28 -0
  27. data/lib/dtr/shared/ruby_ext.rb +129 -0
  28. data/lib/dtr/shared/service.rb +19 -0
  29. data/lib/dtr/shared/service/agent.rb +37 -0
  30. data/lib/dtr/shared/service/file.rb +28 -0
  31. data/lib/dtr/shared/service/rinda.rb +48 -0
  32. data/lib/dtr/shared/service/runner.rb +34 -0
  33. data/lib/dtr/shared/service/working_env.rb +28 -0
  34. data/lib/dtr/shared/sync_codebase.rb +18 -0
  35. data/lib/dtr/shared/sync_codebase/copiable_package.rb +40 -0
  36. data/lib/dtr/shared/sync_codebase/master_ext.rb +40 -0
  37. data/lib/dtr/shared/sync_codebase/package.rb +53 -0
  38. data/lib/dtr/shared/sync_codebase/sync_service.rb +36 -0
  39. data/lib/dtr/shared/sync_logger.rb +64 -0
  40. data/lib/dtr/shared/utils.rb +17 -0
  41. data/lib/dtr/shared/utils/cmd.rb +30 -0
  42. data/lib/dtr/shared/utils/env_store.rb +60 -0
  43. data/lib/dtr/shared/utils/logger.rb +87 -0
  44. data/lib/dtr/shared/working_env.rb +38 -0
  45. data/lib/dtr/test_unit.rb +9 -275
  46. data/lib/dtr/test_unit/drb_test_runner.rb +48 -0
  47. data/lib/dtr/test_unit/injection.rb +29 -0
  48. data/lib/dtr/test_unit/test_case_injection.rb +37 -0
  49. data/lib/dtr/test_unit/test_suite_injection.rb +24 -0
  50. data/lib/dtr/test_unit/testrunnermediator_injection.rb +72 -0
  51. data/lib/dtr/test_unit/thread_safe_test_result.rb +38 -0
  52. data/lib/dtr/test_unit/worker_club.rb +72 -0
  53. data/lib/dtr/test_unit_injection.rb +1 -2
  54. data/test/acceptance/agent_working_env_test.rb +86 -0
  55. data/test/acceptance/dtr_package_task_test.rb +36 -0
  56. data/test/acceptance/general_test.rb +331 -0
  57. data/test/acceptance/raketasks_test.rb +23 -0
  58. data/test/acceptance/sync_codebase_test.rb +66 -0
  59. data/test/acceptance/sync_logger_test.rb +32 -0
  60. data/test/agent_helper.rb +37 -0
  61. data/test/logger_stub.rb +34 -0
  62. data/test/test_helper.rb +71 -0
  63. data/test/unit/adapter_test.rb +149 -0
  64. data/test/unit/configuration_test.rb +44 -0
  65. data/test/unit/facade_test.rb +41 -0
  66. data/test/unit/logger_test.rb +72 -0
  67. data/test/unit/test_unit_test.rb +26 -0
  68. data/test/unit/working_env_test.rb +71 -0
  69. data/testdata/Rakefile +11 -0
  70. data/testdata/a_failed_test_case.rb +8 -0
  71. data/testdata/a_file_system_test_case.rb +8 -0
  72. data/testdata/a_test_case.rb +13 -0
  73. data/testdata/a_test_case2.rb +6 -0
  74. data/testdata/an_error_test_case.rb +9 -0
  75. data/testdata/another_project/Rakefile +6 -0
  76. data/testdata/another_project/passed_test_case.rb +7 -0
  77. data/testdata/hacked_run_method_test_case.rb +15 -0
  78. data/testdata/is_required_by_a_test.rb +9 -0
  79. data/testdata/lib/lib_test_case.rb +7 -0
  80. data/testdata/package_task_test_rakefile +8 -0
  81. data/testdata/raketasks/Rakefile +7 -0
  82. data/testdata/raketasks/success_test_case.rb +6 -0
  83. data/testdata/scenario_test_case.rb +34 -0
  84. data/testdata/setup_agent_env_test_case.rb +9 -0
  85. data/testdata/sleep_3_secs_test_case.rb +9 -0
  86. data/testdata/verify_dir_pwd/Rakefile +6 -0
  87. data/testdata/verify_dir_pwd/verify_dir_pwd_test_case.rb +10 -0
  88. metadata +101 -34
  89. data/README +0 -291
  90. data/install.rb +0 -88
  91. data/lib/dtr/base.rb +0 -172
  92. data/lib/dtr/runner.rb +0 -270
  93. data/lib/dtr/service_provider.rb +0 -160
@@ -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
@@ -0,0 +1,26 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class TestUnitTest < Test::Unit::TestCase
4
+
5
+ def teardown
6
+ DTR.reject
7
+ end
8
+
9
+ # inject testcase as late as possible, for in ruby world there is lots hacks added to TestCase#run method,
10
+ # DTR should be the last one to add dtr injection chain into run method
11
+ def test_should_only_inject_test_runner_mediator_for_lauching_dtr
12
+ DTR.inject
13
+ assert Test::Unit::UI::TestRunnerMediator.respond_to?(:reject_dtr)
14
+ assert Test::Unit::UI::TestRunnerMediator.method_defined?(:run_suite_without_dtr_injection)
15
+ assert Test::Unit::UI::TestRunnerMediator.private_method_defined?(:create_result_without_thread_safe)
16
+ end
17
+
18
+ def test_reject
19
+ DTR.inject
20
+ DTR.reject
21
+ assert !Test::Unit::UI::TestRunnerMediator.respond_to?(:reject_dtr)
22
+ assert !Test::Unit::UI::TestRunnerMediator.method_defined?(:run_suite_without_dtr_injection)
23
+ assert !Test::Unit::UI::TestRunnerMediator.private_method_defined?(:create_result_without_thread_safe)
24
+ end
25
+
26
+ end
@@ -0,0 +1,71 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+ require 'dtr/agent/working_env_ext'
3
+ DTR::WorkingEnv.send(:include, DTR::Agent::WorkingEnvExt)
4
+
5
+ class WorkingEnvTest < Test::Unit::TestCase
6
+ def test_identifier_of_working_env
7
+ assert_not_equal DTR::WorkingEnv.new[:identifier], DTR::WorkingEnv.new[:identifier]
8
+ end
9
+
10
+ def test_working_env_equal
11
+ env1 = DTR::WorkingEnv.new
12
+ env2 = DTR::WorkingEnv.new
13
+ assert_not_equal env1, env2
14
+ env2[:identifier] = env1[:identifier]
15
+ assert env1 == env2
16
+ assert env2 != nil
17
+ assert nil != env2
18
+ end
19
+
20
+ def test_working_dir_within_env_should_be_based_on_host_and_pwd
21
+ env = DTR::WorkingEnv.new
22
+ env[:pwd] = 'pwd'
23
+ env[:host] = 'hostname'
24
+ working_dir = nil
25
+ env.within do
26
+ working_dir = Dir.pwd
27
+ end
28
+ assert_equal File.expand_path('hostname/pwd'), working_dir
29
+ ensure
30
+ FileUtils.rm_rf File.expand_path('hostname')
31
+ end
32
+
33
+ def test_should_truncate_pwd_if_it_is_too_long_for_working_dir
34
+ env = DTR::WorkingEnv.new
35
+ env[:pwd] = 'pwd_pwd_pwd_pwd_pwd_pwd_pwd_pwd_pwd_pwd' #40
36
+ env[:host] = 'hostname'
37
+ working_dir = nil
38
+ env.within do
39
+ working_dir = Dir.pwd
40
+ end
41
+ assert_equal File.expand_path('hostname/_pwd_pwd_pwd_pwd_pwd'), working_dir
42
+ ensure
43
+ FileUtils.rm_rf File.expand_path('hostname')
44
+ end
45
+
46
+ def test_should_convert_non_word_and_number_in_dir_string_to_underscore
47
+ env = DTR::WorkingEnv.new
48
+ env[:pwd] = 'pwd pwd' #40
49
+ env[:host] = 'xli.local:1234'
50
+ working_dir = nil
51
+ env.within do
52
+ working_dir = Dir.pwd
53
+ end
54
+ assert_equal File.expand_path('xli_local_1234/pwd_pwd'), working_dir
55
+ ensure
56
+ FileUtils.rm_rf File.expand_path('xli_local_1234')
57
+ end
58
+
59
+ def test_working_dir_should_be_created_if_it_does_not_exist
60
+ env = DTR::WorkingEnv.new
61
+ env[:pwd] = 'pwd'
62
+ env[:host] = 'hostname'
63
+
64
+ assert !File.exists?(File.expand_path('hostname'))
65
+ env.within do
66
+ assert File.exists?(Dir.pwd)
67
+ end
68
+ ensure
69
+ FileUtils.rm_rf File.expand_path('hostname')
70
+ end
71
+ end
@@ -0,0 +1,11 @@
1
+ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
2
+ require 'dtr/raketasks'
3
+ require 'rake/testtask'
4
+
5
+ desc "Default Task"
6
+ task :default => :dtr
7
+
8
+ DTR::TestTask.new do |t|
9
+ t.test_files = FileList['*test_case.rb']
10
+ t.processes = 2
11
+ end
@@ -0,0 +1,8 @@
1
+ require 'test/unit'
2
+ class AFailedTestCase < Test::Unit::TestCase
3
+ def test_failed
4
+ assert false
5
+ end
6
+ end
7
+
8
+
@@ -0,0 +1,8 @@
1
+
2
+ require 'test/unit'
3
+ class AFileSystemTestCase < Test::Unit::TestCase
4
+ def test_file_exist
5
+ assert File.exist?(File.dirname(__FILE__) + '/a_file_system_test_case.rb')
6
+ end
7
+ end
8
+
@@ -0,0 +1,13 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/is_required_by_a_test.rb'
3
+ class ATestCase < Test::Unit::TestCase
4
+
5
+ def test_succeeded
6
+ require 'pp'
7
+ assert eval('true')
8
+ assert IsRequiredByATest.ok?
9
+ assert_equal 'test', ENV["RAILS_ENV"]
10
+ end
11
+
12
+ end
13
+
@@ -0,0 +1,6 @@
1
+ require 'test/unit'
2
+ class ATestCase2 < Test::Unit::TestCase
3
+ def test_succeeded
4
+ assert true
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+ class AnErrorTestCase < Test::Unit::TestCase
3
+ class MyError < StandardError
4
+ end
5
+ def test_error
6
+ raise MyError.new('error')
7
+ end
8
+ end
9
+
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../../lib')
2
+ require 'dtr/raketasks'
3
+
4
+ DTR::PackageTask.new do |p|
5
+ p.package_files.include("**/*")
6
+ end
@@ -0,0 +1,7 @@
1
+ require 'test/unit'
2
+ class PassedTestCase < Test::Unit::TestCase
3
+ def test_succeeded
4
+ assert_equal 'test', 'test'
5
+ end
6
+ end
7
+
@@ -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,9 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ class IsRequiredByATest
4
+
5
+ def self.ok?
6
+ true
7
+ end
8
+
9
+ end
@@ -0,0 +1,7 @@
1
+ require 'test/unit'
2
+ class LibTestCase < Test::Unit::TestCase
3
+ def test_lib
4
+ assert_equal 2, 2
5
+ end
6
+ end
7
+
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
2
+ require 'dtr/raketasks'
3
+
4
+ DTR::PackageTask.new do |p|
5
+ p.package_files.include("lib/**/*")
6
+ p.package_files.include("*.rb")
7
+ p.package_files.exclude("*test_case.rb")
8
+ end
@@ -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,34 @@
1
+ require 'test/unit'
2
+ class ScenarioTestCase < Test::Unit::TestCase
3
+
4
+ def test_run_test_failed
5
+ assert_equal '1', '2'
6
+ end
7
+
8
+ def test_run_test_passed
9
+ assert_eqaul '1', '1'
10
+ end
11
+
12
+ def test_run_test_error
13
+ assert false
14
+ end
15
+
16
+ def test_runner_should_setup_env
17
+ 'should'.raise.error
18
+ end
19
+
20
+ def test_runner_should_not_setup_env_twice
21
+ end
22
+
23
+ def test_runner_should_update_code
24
+ assert_equal ['1'], '1' + nil
25
+ end
26
+
27
+ def test_execution
28
+ assert nil.empty?
29
+ end
30
+
31
+ def test_runner_should_rollback_popped_test
32
+ assert_equal ['1'], '1'
33
+ end
34
+ end
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+ class SetupAgentEnvTestCase < Test::Unit::TestCase
3
+
4
+ def test_setup_agent_env_test_case
5
+ assert File.exists?('/tmp/test_setup_agent_env_from_master_process')
6
+ end
7
+
8
+ end
9
+
@@ -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
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../../lib')
2
+ require 'dtr/raketasks'
3
+
4
+ DTR::PackageTask.new do |p|
5
+ p.package_files.include("**/*")
6
+ end
@@ -0,0 +1,10 @@
1
+ require 'test/unit'
2
+
3
+ class VerifyDirPwdTestCase < Test::Unit::TestCase
4
+
5
+ def test_should_not_sync_codebase_and_setup_working_dir_when_agent_is_in_same_dir_with_master_process
6
+ assert_equal 'verify_dir_pwd', Dir.pwd.split('/').last
7
+ end
8
+
9
+ end
10
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Li Xiao
@@ -9,57 +9,87 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-02 00:00:00 +08:00
12
+ date: 2008-10-24 00:00:00 +08:00
13
13
  default_executable: dtr
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: daemons
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 1.0.7
24
- version:
14
+ dependencies: []
15
+
25
16
  description:
26
- email: swing1979@gmail.com
17
+ email: iam@li-xiao.com
27
18
  executables:
28
19
  - dtr
29
20
  extensions: []
30
21
 
31
- extra_rdoc_files: []
32
-
22
+ extra_rdoc_files:
23
+ - README.rdoc
24
+ - LICENSE.txt
25
+ - TODO
26
+ - CHANGES
33
27
  files:
34
- - lib/dtr/base.rb
28
+ - lib/dtr/agent/brain.rb
29
+ - lib/dtr/agent/herald.rb
30
+ - lib/dtr/agent/runner.rb
31
+ - lib/dtr/agent/sync_codebase.rb
32
+ - lib/dtr/agent/sync_logger.rb
33
+ - lib/dtr/agent/test_case.rb
34
+ - lib/dtr/agent/test_unit.rb
35
+ - lib/dtr/agent/worker.rb
36
+ - lib/dtr/agent/working_env_ext.rb
37
+ - lib/dtr/agent.rb
38
+ - lib/dtr/facade.rb
39
+ - lib/dtr/master.rb
40
+ - lib/dtr/monitor.rb
35
41
  - lib/dtr/raketasks.rb
36
- - lib/dtr/runner.rb
37
- - lib/dtr/service_provider.rb
42
+ - lib/dtr/shared/adapter.rb
43
+ - lib/dtr/shared/configuration.rb
44
+ - lib/dtr/shared/message_decorator.rb
45
+ - lib/dtr/shared/ruby_ext.rb
46
+ - lib/dtr/shared/service/agent.rb
47
+ - lib/dtr/shared/service/file.rb
48
+ - lib/dtr/shared/service/rinda.rb
49
+ - lib/dtr/shared/service/runner.rb
50
+ - lib/dtr/shared/service/working_env.rb
51
+ - lib/dtr/shared/service.rb
52
+ - lib/dtr/shared/sync_codebase/copiable_package.rb
53
+ - lib/dtr/shared/sync_codebase/master_ext.rb
54
+ - lib/dtr/shared/sync_codebase/package.rb
55
+ - lib/dtr/shared/sync_codebase/sync_service.rb
56
+ - lib/dtr/shared/sync_codebase.rb
57
+ - lib/dtr/shared/sync_logger.rb
58
+ - lib/dtr/shared/utils/cmd.rb
59
+ - lib/dtr/shared/utils/env_store.rb
60
+ - lib/dtr/shared/utils/logger.rb
61
+ - lib/dtr/shared/utils.rb
62
+ - lib/dtr/shared/working_env.rb
63
+ - lib/dtr/shared.rb
64
+ - lib/dtr/test_unit/drb_test_runner.rb
65
+ - lib/dtr/test_unit/injection.rb
66
+ - lib/dtr/test_unit/test_case_injection.rb
67
+ - lib/dtr/test_unit/test_suite_injection.rb
68
+ - lib/dtr/test_unit/testrunnermediator_injection.rb
69
+ - lib/dtr/test_unit/thread_safe_test_result.rb
70
+ - lib/dtr/test_unit/worker_club.rb
38
71
  - lib/dtr/test_unit.rb
39
72
  - lib/dtr/test_unit_injection.rb
40
73
  - lib/dtr.rb
41
74
  - bin/dtr
42
- - bin
43
75
  - CHANGES
44
- - doc
45
76
  - dtr.gemspec
46
- - html
47
- - install.rb
48
77
  - lib
49
78
  - LICENSE.TXT
50
- - log
51
- - pkg
52
79
  - Rakefile
53
- - README
54
- - rspec
55
- - test
56
- - testdata
80
+ - README.rdoc
57
81
  - TODO
58
- has_rdoc: false
82
+ - LICENSE.txt
83
+ has_rdoc: true
59
84
  homepage: http://github.com/xli/dtr/tree/master
60
85
  post_install_message:
61
- rdoc_options: []
62
-
86
+ rdoc_options:
87
+ - --line-numbers
88
+ - --inline-source
89
+ - --main
90
+ - README.rdoc
91
+ - --title
92
+ - "\"DTR -- Distributed Test Runner"
63
93
  require_paths:
64
94
  - lib
65
95
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -81,5 +111,42 @@ rubygems_version: 1.2.0
81
111
  signing_key:
82
112
  specification_version: 2
83
113
  summary: DTR is a distributed test runner to run tests on distributed computers for decreasing build time.
84
- test_files: []
85
-
114
+ test_files:
115
+ - test/acceptance/agent_working_env_test.rb
116
+ - test/acceptance/dtr_package_task_test.rb
117
+ - test/acceptance/general_test.rb
118
+ - test/acceptance/raketasks_test.rb
119
+ - test/acceptance/sync_codebase_test.rb
120
+ - test/acceptance/sync_logger_test.rb
121
+ - test/agent_helper.rb
122
+ - test/logger_stub.rb
123
+ - test/test_helper.rb
124
+ - test/unit/adapter_test.rb
125
+ - test/unit/configuration_test.rb
126
+ - test/unit/facade_test.rb
127
+ - test/unit/logger_test.rb
128
+ - test/unit/test_unit_test.rb
129
+ - test/unit/working_env_test.rb
130
+ - testdata/a_failed_test_case.rb
131
+ - testdata/a_file_system_test_case.rb
132
+ - testdata/a_test_case.rb
133
+ - testdata/a_test_case2.rb
134
+ - testdata/an_error_test_case.rb
135
+ - testdata/another_project
136
+ - testdata/another_project/passed_test_case.rb
137
+ - testdata/another_project/Rakefile
138
+ - testdata/hacked_run_method_test_case.rb
139
+ - testdata/is_required_by_a_test.rb
140
+ - testdata/lib
141
+ - testdata/lib/lib_test_case.rb
142
+ - testdata/package_task_test_rakefile
143
+ - testdata/Rakefile
144
+ - testdata/raketasks
145
+ - testdata/raketasks/Rakefile
146
+ - testdata/raketasks/success_test_case.rb
147
+ - testdata/scenario_test_case.rb
148
+ - testdata/setup_agent_env_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