dtr 0.0.4 → 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 (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