BuildMaster 1.1.9 → 1.1.12

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 (149) hide show
  1. data/lib/buildmaster/algorithms.rb +2 -2
  2. data/lib/buildmaster/auto.rb +27 -0
  3. data/lib/buildmaster/auto/classpath.rb +86 -0
  4. data/lib/buildmaster/auto/git.rb +38 -0
  5. data/lib/buildmaster/auto/java.rb +23 -0
  6. data/lib/buildmaster/auto/java_project.rb +185 -0
  7. data/lib/buildmaster/auto/javac_ant.rb +64 -0
  8. data/lib/buildmaster/auto/junit_ant.rb +226 -0
  9. data/lib/buildmaster/auto/mysql_server.rb +30 -0
  10. data/lib/buildmaster/auto/package_ant.rb +60 -0
  11. data/lib/buildmaster/auto/ruby_platform.rb +51 -0
  12. data/lib/buildmaster/common.rb +3 -3
  13. data/lib/buildmaster/cotta.rb +8 -3
  14. data/lib/buildmaster/cotta/command_runner.rb +19 -3
  15. data/lib/buildmaster/cotta/cotta.rb +42 -12
  16. data/lib/buildmaster/cotta/cotta_dir.rb +18 -14
  17. data/lib/buildmaster/cotta/cotta_file.rb +5 -8
  18. data/lib/buildmaster/cotta/in_memory_system.rb +15 -4
  19. data/lib/buildmaster/cotta/physical_system.rb +13 -7
  20. data/lib/buildmaster/project.rb +3 -9
  21. data/lib/buildmaster/project/ant_driver.rb +11 -7
  22. data/lib/buildmaster/project/ci.rb +2 -2
  23. data/lib/buildmaster/project/pscp_driver.rb +0 -4
  24. data/lib/buildmaster/project/ruby_forge_project.rb +0 -3
  25. data/lib/buildmaster/project/svn_admin_driver.rb +0 -4
  26. data/lib/buildmaster/project/svn_driver.rb +0 -6
  27. data/lib/buildmaster/project/svn_helper.rb +0 -6
  28. data/lib/buildmaster/project/svn_server_driver.rb +0 -5
  29. data/lib/buildmaster/project/windows/iis_driver.rb +0 -4
  30. data/lib/buildmaster/project/windows/sql_server_driver.rb +0 -1
  31. data/lib/buildmaster/site.rb +16 -4
  32. data/lib/buildmaster/site/about_handler.rb +0 -4
  33. data/lib/buildmaster/site/content_engine_repository.rb +0 -2
  34. data/lib/buildmaster/site/element_processor_by_name.rb +0 -4
  35. data/lib/buildmaster/site/file_processor.rb +0 -4
  36. data/lib/buildmaster/site/site.rb +0 -4
  37. data/lib/buildmaster/site/site_server.rb +1 -4
  38. data/lib/buildmaster/site/site_spec.rb +4 -15
  39. data/lib/buildmaster/site/source_file_handler.rb +0 -3
  40. data/lib/buildmaster/site/template_error.rb +0 -2
  41. data/lib/buildmaster/site/template_runner.rb +0 -4
  42. data/lib/buildmaster/site/templatelets.rb +9 -10
  43. data/lib/buildmaster/site/templatelets/href.rb +0 -5
  44. data/lib/buildmaster/site/templatelets/when.rb +0 -4
  45. data/lib/buildmaster/site/xtemplate.rb +0 -3
  46. data/lib/buildmaster/version +1 -1
  47. data/lib/buildmaster/win32/auto_it.rb +4 -0
  48. data/lib/buildmaster/win32/auto_it_driver.rb +45 -0
  49. data/lib/buildmaster/win32/auto_it_window.rb +82 -0
  50. data/lib/buildmaster/win32/autoit/AutoItX3.dll +0 -0
  51. data/lib/buildmaster/win32/autoit/README +1 -0
  52. data/lib/buildmaster/windows.rb +3 -3
  53. data/test/buildmaster/algorithms/tc_opn_compare.rb +2 -2
  54. data/test/buildmaster/auto/javac/src/org/rubyforge/buildmaster/javac/One.java +5 -0
  55. data/test/buildmaster/auto/javac/src/resource.txt +1 -0
  56. data/test/buildmaster/auto/javac/src2/org/rubyforge/buildmaster/javac/Two.java +9 -0
  57. data/test/buildmaster/auto/tc_classpath.rb +79 -0
  58. data/test/buildmaster/auto/tc_git.rb +32 -0
  59. data/test/buildmaster/auto/tc_java.rb +12 -0
  60. data/test/buildmaster/auto/tc_java_project.rb +78 -0
  61. data/test/buildmaster/auto/tc_java_project_slow.rb +89 -0
  62. data/test/buildmaster/auto/tc_javac_ant.rb +38 -0
  63. data/test/buildmaster/auto/tc_junit_ant.rb +187 -0
  64. data/test/buildmaster/auto/tc_package_ant.rb +29 -0
  65. data/test/buildmaster/auto/tc_ruby_platform.rb +10 -0
  66. data/test/buildmaster/common/tc_properties.rb +1 -3
  67. data/test/buildmaster/common/tc_tree_to_object.rb +1 -3
  68. data/test/buildmaster/cotta/cotta_dir_behaviors.rb +46 -8
  69. data/test/buildmaster/cotta/cotta_file_behaviors.rb +6 -6
  70. data/test/buildmaster/cotta/cotta_specifications.rb +1 -6
  71. data/test/buildmaster/cotta/file_system_behaviors.rb +1 -3
  72. data/test/buildmaster/cotta/physical_system_stub.rb +22 -3
  73. data/test/buildmaster/cotta/system_file_specifications.rb +1 -3
  74. data/test/buildmaster/cotta/tc_command_interface.rb +1 -3
  75. data/test/buildmaster/cotta/tc_command_runner.rb +1 -4
  76. data/test/buildmaster/cotta/tc_cotta.rb +5 -8
  77. data/test/buildmaster/cotta/tc_cotta_dir_in_memory.rb +6 -9
  78. data/test/buildmaster/cotta/tc_cotta_dir_physical.rb +3 -6
  79. data/test/buildmaster/cotta/tc_cotta_file_in_memory.rb +3 -7
  80. data/test/buildmaster/cotta/tc_cotta_file_physical.rb +4 -4
  81. data/test/buildmaster/cotta/tc_cotta_zip_support.rb +1 -5
  82. data/test/buildmaster/cotta/tc_in_memory_system.rb +3 -7
  83. data/test/buildmaster/cotta/tc_io_chain.rb +3 -8
  84. data/test/buildmaster/cotta/tc_pathname.rb +1 -3
  85. data/test/buildmaster/cotta/tc_physical_system.rb +7 -8
  86. data/test/buildmaster/project/tc_ant_driver.rb +1 -4
  87. data/test/buildmaster/project/tc_build_number_file.rb +1 -6
  88. data/test/buildmaster/project/tc_cvs_driver.rb +1 -5
  89. data/test/buildmaster/project/tc_java_manifest.rb +1 -5
  90. data/test/buildmaster/project/tc_release.rb +1 -3
  91. data/test/buildmaster/project/tc_server_manager.rb +1 -4
  92. data/test/buildmaster/project/tc_svn_driver.rb +1 -5
  93. data/test/buildmaster/project/tc_svn_status_info.rb +1 -3
  94. data/test/buildmaster/project/tc_version_number_file.rb +1 -6
  95. data/test/buildmaster/project/windows/tc_iis_driver.rb +2 -3
  96. data/test/buildmaster/project/windows/tc_sql_server_driver.rb +2 -5
  97. data/test/buildmaster/site/content/tc_content_engine_repository.rb +1 -5
  98. data/test/buildmaster/site/tc_element_processor_by_name.rb +1 -4
  99. data/test/buildmaster/site/tc_file_processor.rb +1 -7
  100. data/test/buildmaster/site/tc_site.rb +1 -6
  101. data/test/buildmaster/site/tc_site_server.rb +2 -8
  102. data/test/buildmaster/site/tc_site_spec.rb +8 -5
  103. data/test/buildmaster/site/tc_source_file_handler.rb +1 -4
  104. data/test/buildmaster/site/tc_template_builder.rb +1 -4
  105. data/test/buildmaster/site/tc_template_error.rb +1 -3
  106. data/test/buildmaster/site/tc_template_runner.rb +2 -7
  107. data/test/buildmaster/site/tc_templatelets.rb +2 -6
  108. data/test/buildmaster/site/tc_xtemplate.rb +1 -5
  109. data/test/buildmaster/site/templatelets/common_templatelet_test.rb +1 -8
  110. data/test/buildmaster/site/templatelets/tc_attribute.rb +3 -3
  111. data/test/buildmaster/site/templatelets/tc_code.rb +2 -2
  112. data/test/buildmaster/site/templatelets/tc_each.rb +3 -3
  113. data/test/buildmaster/site/templatelets/tc_href.rb +3 -3
  114. data/test/buildmaster/site/templatelets/tc_include.rb +3 -3
  115. data/test/buildmaster/site/templatelets/tc_link.rb +3 -3
  116. data/test/buildmaster/site/templatelets/tc_text.rb +3 -3
  117. data/test/buildmaster/site/templatelets/tc_when.rb +4 -4
  118. data/test/buildmaster/site/test.rb +1 -0
  119. data/test/buildmaster/test.rb +21 -0
  120. data/test/buildmaster/win32/tc_auto_it.rb +18 -0
  121. data/test/buildmaster/win32/tc_auto_it_window.rb +17 -0
  122. data/test/manual/bms.rb +2 -4
  123. data/test/tmp/svn_test/repository/conf/authz +14 -3
  124. data/test/tmp/svn_test/repository/conf/svnserve.conf +21 -4
  125. data/test/tmp/svn_test/repository/db/current +1 -1
  126. data/test/tmp/svn_test/repository/db/format +2 -1
  127. data/test/tmp/svn_test/repository/db/revprops/0/0 +5 -0
  128. data/test/tmp/svn_test/repository/db/revprops/{1 → 0/1} +1 -1
  129. data/test/tmp/svn_test/repository/db/revprops/{2 → 0/2} +1 -1
  130. data/test/tmp/svn_test/repository/db/revprops/{3 → 0/3} +1 -1
  131. data/test/tmp/svn_test/repository/db/revprops/{4 → 0/4} +1 -1
  132. data/test/tmp/svn_test/repository/db/revs/{0 → 0/0} +0 -0
  133. data/test/tmp/svn_test/repository/db/revs/0/1 +25 -0
  134. data/test/tmp/svn_test/repository/db/revs/{2 → 0/2} +9 -9
  135. data/test/tmp/svn_test/repository/db/revs/0/3 +33 -0
  136. data/test/tmp/svn_test/repository/db/revs/{4 → 0/4} +0 -0
  137. data/test/tmp/svn_test/repository/db/txn-current +1 -0
  138. data/{lib/buildmaster/project/java/class_path.rb → test/tmp/svn_test/repository/db/txn-current-lock} +0 -0
  139. data/test/tmp/svn_test/repository/db/uuid +1 -1
  140. data/test/tmp/svn_test/repository/hooks/post-revprop-change.tmpl +1 -1
  141. data/test/tmp/svn_test/repository/hooks/pre-unlock.tmpl +1 -0
  142. data/test/tmp/svn_test/repository/hooks/start-commit.tmpl +13 -2
  143. data/test/ts_buildmaster.rb +2 -2
  144. metadata +100 -46
  145. data/lib/buildmaster/project/java.rb +0 -4
  146. data/lib/buildmaster/project/java/javac.rb +0 -9
  147. data/test/tmp/svn_test/repository/db/revprops/0 +0 -5
  148. data/test/tmp/svn_test/repository/db/revs/1 +0 -25
  149. data/test/tmp/svn_test/repository/db/revs/3 +0 -33
@@ -0,0 +1,29 @@
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/auto'
2
+ require 'spec'
3
+
4
+ module BuildMaster
5
+ describe PackageAnt do
6
+ it 'should create ant file' do
7
+ cotta = Cotta.new(InMemorySystem.new)
8
+ dir = cotta.dir('root')
9
+ package = PackageAnt.new(dir, 'output')
10
+ package.add(dir.dir('classes'), dir.dir('src'))
11
+ package.add(dir.dir('classes2'))
12
+ build_file = package.build_file
13
+ build_file.load.should == <<RESULT
14
+ <!-- ANT file generated by buildmaste PackageAnt -->
15
+ <project name="package-ant" default="package-ant">
16
+ <target name="package-ant">
17
+ <jar destfile="#{dir}/output.jar">
18
+ <fileset dir="#{dir}/classes"/>
19
+ <fileset dir="#{dir}/classes2"/>
20
+ </jar>
21
+ <zip destfile="#{dir}/output-src.zip">
22
+ <fileset dir="#{dir}/src"/>
23
+ </zip>
24
+ </target>
25
+ </project>
26
+ RESULT
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,10 @@
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/auto'
2
+ require 'spec'
3
+
4
+ module BuildMaster
5
+ describe RubyPlatform do
6
+ it 'should detect current OS' do
7
+ RubyPlatform.os.should_not be_nil
8
+ end
9
+ end
10
+ end
@@ -1,8 +1,6 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
1
  require 'spec'
4
2
  require 'stringio'
5
- require 'common/properties'
3
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/common/properties'
6
4
 
7
5
  module BuildMaster::Common
8
6
 
@@ -1,8 +1,6 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
1
  require 'spec'
4
2
 
5
- require 'common/tree_to_object'
3
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/common/tree_to_object'
6
4
 
7
5
  module BuildMaster
8
6
 
@@ -1,8 +1,4 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
- require 'cotta'
4
- require 'cotta/cotta_file'
5
- require 'cotta/cotta_dir'
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
6
2
  require 'spec'
7
3
  require 'pathname'
8
4
 
@@ -10,13 +6,23 @@ module BuildMaster
10
6
  describe 'CottaDirBehaviors', :shared=>true do
11
7
  before do
12
8
  create_system
13
- @dir = BuildMaster::CottaDir.new(@system, Pathname.new('dir'))
9
+ @root = BuildMaster::CottaDir.new(@system, Pathname.new('.'))
10
+ @dir = @root.dir('dir')
11
+ @current = Dir.pwd
14
12
  end
13
+
14
+ after do
15
+ Dir.chdir @current
15
16
  end
16
17
 
17
18
  it 'load dir with basic information' do
18
19
  @dir.name.should == 'dir'
19
20
  end
20
21
 
22
+ it 'should show path on to_s for convenience in scripting' do
23
+ @dir.to_s.should == 'dir'
24
+ "#{@dir}".should == 'dir'
25
+ end
26
+
21
27
  it 'dir objects are value objects, equal on system and path' do
22
28
  (BuildMaster::CottaDir.new(@system, Pathname.new('dir')) == @dir).should == true
23
29
  end
@@ -30,11 +36,22 @@ module BuildMaster
30
36
  sub_dir.relative_path_from(@dir).to_s.should == 'one/two/three'
31
37
  end
32
38
 
33
- it 'dir should know its parent' do
39
+ it 'should know its parent' do
34
40
  @dir.parent.name.should == '.'
35
41
  @dir.parent.parent.should be_nil
36
42
  end
37
43
 
44
+ it 'should look up parent' do
45
+ sub_dir = @dir.dir('one/two/three')
46
+ result = sub_dir.parent {|dir| dir.name == 'one'}
47
+ result.should == @dir.dir('one')
48
+ end
49
+
50
+ it 'should return nil if parent lookup fails' do
51
+ sub_dir = @dir.dir('one/two/three')
52
+ sub_dir.parent {|dir| false}.should be_nil
53
+ end
54
+
38
55
  it 'should raise error if not exits stat' do
39
56
  Proc.new {
40
57
  @dir.stat
@@ -96,7 +113,13 @@ module BuildMaster
96
113
  @dir.exists?.should == false
97
114
  end
98
115
 
99
- it 'should do nothing if dir already exists' do
116
+ it 'should do nothing if dir does not exist' do
117
+ dir = @dir.dir('one/two')
118
+ dir.delete
119
+ dir.delete
120
+ end
121
+
122
+ it 'should do nothing on mkdir if dir already exists' do
100
123
  dir = @dir.dir('one').dir('two')
101
124
  dir.mkdirs
102
125
  dir.mkdirs
@@ -162,6 +185,21 @@ module BuildMaster
162
185
  target.dir('out').should_not be_exist
163
186
  target.dir('in').should be_exist
164
187
  end
188
+
189
+ it 'should support changing directory' do
190
+ dir = @dir.dir('one/two')
191
+ file = @dir.file('marker').save('marker')
192
+ dir.mkdirs
193
+ result = dir.chdir
194
+ result.should == 0
195
+ current = dir.cotta.pwd
196
+ value = @root.chdir do
197
+ dir.cotta.pwd.should == @root
198
+ 'value'
199
+ end
200
+ value.should == 'value'
201
+ dir.cotta.pwd.should == current
202
+ end
165
203
 
166
204
  end
167
205
  end
@@ -1,9 +1,4 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
- require 'cotta'
4
- require 'cotta/cotta_file'
5
- require 'cotta/cotta_dir'
6
- require 'cotta/in_memory_system'
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
7
2
  require 'spec'
8
3
  require 'pathname'
9
4
 
@@ -19,6 +14,11 @@ module BuildMaster
19
14
  @file.exists?.should == false
20
15
  end
21
16
 
17
+ it 'should return path on to_s for scripting convenience' do
18
+ @file.to_s.should == 'dir/file.txt'
19
+ "#{@file}".should == 'dir/file.txt'
20
+ end
21
+
22
22
  it 'file should know properties like parent, name, etc.' do
23
23
  @file.parent.should == BuildMaster::CottaDir.new(@system, Pathname.new('dir'))
24
24
  @file.name.should == 'file.txt'
@@ -1,9 +1,4 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
- require 'cotta'
4
- require 'cotta/cotta_file'
5
- require 'cotta/cotta_dir'
6
- require 'cotta/in_memory_system'
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
7
2
  require 'spec'
8
3
  require 'pathname'
9
4
 
@@ -1,6 +1,4 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
- require 'cotta'
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
4
2
  require 'pathname'
5
3
  require 'spec'
6
4
 
@@ -1,5 +1,4 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
- require 'cotta/physical_system'
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
3
2
 
4
3
  module BuildMaster
5
4
  class PhysicalSystemStub
@@ -7,7 +6,7 @@ class PhysicalSystemStub
7
6
 
8
7
  def initialize
9
8
  @executed_commands = Array.new
10
- tmp_path = File.join(File.dirname(__FILE__), '..', '..', '..', 'tmp')
9
+ tmp_path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'tmp'))
11
10
  @system = PhysicalSystem.new
12
11
  ensure_clean_directory(tmp_path)
13
12
  Dir.mkdir(File.join(tmp_path, 'current'))
@@ -75,6 +74,26 @@ class PhysicalSystemStub
75
74
  @system.copy_dir(relative_from_tmp(source), relative_from_tmp(target))
76
75
  end
77
76
 
77
+ def chdir(path, &block)
78
+ @system.chdir(relative_from_tmp(path), &block)
79
+ end
80
+
81
+ def pwd
82
+ path = @system.pwd
83
+ candidate = relative_from_tmp(Pathname.new('/')).expand_path.to_s
84
+ if (path.index(candidate) == 0)
85
+ result = path[candidate.length, path.length - candidate.length]
86
+ else
87
+ candidate = relative_from_tmp(Pathname.new('.')).expand_path.to_s
88
+ if candidate == path
89
+ result = '.'
90
+ else
91
+ result = path[candidate.length + 1, path.length - candidate.length - 1]
92
+ end
93
+ end
94
+ result
95
+ end
96
+
78
97
  private
79
98
  def relative_from_tmp(pathname)
80
99
  tmp_pathname = nil
@@ -1,6 +1,4 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
- require 'cotta'
1
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
4
2
  require 'pathname'
5
3
 
6
4
  def register_system_file_specifications
@@ -1,8 +1,6 @@
1
1
  require 'spec'
2
2
 
3
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
4
-
5
- require 'cotta/command_interface'
3
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
6
4
 
7
5
  module BuildMaster
8
6
  describe CommandInterface do
@@ -1,8 +1,5 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
-
3
1
  require 'spec'
4
- require 'cotta/command_runner'
5
- require 'cotta/command_error'
2
+ require File.dirname(__FILE__) + '/../../../lib/buildmaster/cotta'
6
3
 
7
4
  module BuildMaster
8
5
  describe CommandRunner do
@@ -1,13 +1,10 @@
1
1
  require 'spec'
2
2
 
3
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
4
-
5
- require 'cotta'
6
- require 'cotta/in_memory_system'
3
+ require File.dirname(__FILE__) + '/../test'
7
4
 
8
5
  module BuildMaster
9
6
 
10
- describe 'Cotta' do
7
+ describe Cotta do
11
8
  before do
12
9
  # Given
13
10
  @system = InMemorySystem.new
@@ -38,8 +35,8 @@ describe 'Cotta' do
38
35
  it 'entry creates file or directory based on which one exists' do
39
36
  @cotta.file('file').save
40
37
  @cotta.dir('dir').mkdirs
41
- @cotta.entry('file').exists?.should == true
42
- @cotta.entry('dir').exists?.should == true
38
+ @cotta.entry('file').should be_exist
39
+ @cotta.entry('dir').should be_exist
43
40
  end
44
41
 
45
42
  it 'nil in, nil out' do
@@ -50,7 +47,7 @@ describe 'Cotta' do
50
47
  end
51
48
 
52
49
  it 'create parent directory directly from __FILE__' do
53
- actual = BuildMaster::Cotta.parent_of(__FILE__)
50
+ actual = BuildMaster::Cotta.parent_dir(__FILE__)
54
51
  actual.name.should == 'cotta'
55
52
  end
56
53
 
@@ -1,11 +1,8 @@
1
- $:.unshift File.dirname(__FILE__)
2
-
3
- require 'cotta_dir_behaviors'
4
-
5
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
6
-
7
1
  require 'spec'
8
- require 'cotta/in_memory_system'
2
+
3
+ dir = File.dirname(__FILE__)
4
+ require dir + '/cotta_dir_behaviors'
5
+ require dir + '/../test'
9
6
 
10
7
  module BuildMaster
11
8
  describe InMemorySystem, 'with Cotta Dir' do
@@ -14,7 +11,7 @@ module BuildMaster
14
11
  def create_system
15
12
  @system = InMemorySystem.new
16
13
  end
17
-
14
+
18
15
  it 'dir should not be equal if system different' do
19
16
  (BuildMaster::CottaDir.new(InMemorySystem.new, Pathname.new('dir')) == @dir).should == false
20
17
  end
@@ -25,4 +22,4 @@ module BuildMaster
25
22
  end
26
23
 
27
24
  end
28
- end
25
+ end
@@ -1,9 +1,6 @@
1
- $:.unshift File.join(File.dirname(__FILE__))
2
-
3
- require 'cotta_dir_behaviors'
4
- require 'physical_system_stub'
5
-
6
1
  require 'spec'
2
+ require File.join(File.dirname(__FILE__)) + '/../test'
3
+ require File.join(File.dirname(__FILE__)) + '/cotta_dir_behaviors'
7
4
 
8
5
  module BuildMaster
9
6
  describe PhysicalSystem, 'work with CottaDir' do
@@ -14,4 +11,4 @@ describe PhysicalSystem, 'work with CottaDir' do
14
11
  end
15
12
 
16
13
  end
17
- end
14
+ end
@@ -1,11 +1,7 @@
1
- $:.unshift File.dirname(__FILE__)
2
-
3
1
  require 'spec'
4
- require 'cotta_file_behaviors'
5
-
6
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
7
-
8
- require 'cotta/in_memory_system'
2
+ dir = File.join(File.dirname(__FILE__))
3
+ require dir + '/cotta_file_behaviors'
4
+ require dir + '/../test'
9
5
 
10
6
  module BuildMaster
11
7
  describe InMemorySystem, 'with cotta file' do
@@ -1,8 +1,8 @@
1
- $:.unshift File.dirname(__FILE__)
2
-
3
1
  require 'spec'
4
- require 'cotta_file_behaviors'
5
- require 'physical_system_stub'
2
+ dir = File.dirname(__FILE__)
3
+ require dir + '/../test'
4
+ require dir + '/cotta_file_behaviors'
5
+ require dir + '/physical_system_stub'
6
6
 
7
7
  module BuildMaster
8
8
  describe PhysicalSystem, 'with cotta file' do
@@ -1,9 +1,5 @@
1
1
  require 'spec'
2
-
3
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
4
-
5
- require 'cotta'
6
- require 'cotta/in_memory_system'
2
+ require File.dirname(__FILE__) + '/../test'
7
3
 
8
4
  module BuildMaster
9
5
  describe Cotta, 'zip support' do
@@ -1,11 +1,7 @@
1
- $:.unshift File.dirname(__FILE__)
2
-
3
- require 'file_system_behaviors'
4
-
5
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
6
-
7
- require 'cotta/in_memory_system'
8
1
  require 'spec'
2
+ dir = File.dirname(__FILE__)
3
+ require dir + '/../test'
4
+ require dir + '/file_system_behaviors'
9
5
 
10
6
  module BuildMaster
11
7
 
@@ -1,12 +1,7 @@
1
1
  require 'spec'
2
-
3
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
4
-
5
- require 'cotta/io_chain'
6
- require 'cotta'
7
-
8
- $:.unshift File.dirname(__FILE__)
9
- require 'physical_system_stub'
2
+ dir = File.dirname(__FILE__)
3
+ require dir + '/../test'
4
+ require dir + '/physical_system_stub'
10
5
 
11
6
  module BuildMaster
12
7
  module IoChain
@@ -1,7 +1,5 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
2
1
  require 'spec'
3
-
4
- require 'cotta'
2
+ require File.dirname(__FILE__) + '/../test'
5
3
 
6
4
  describe Pathname do
7
5
  it 'parent check for unix path' do
@@ -1,12 +1,7 @@
1
- $:.unshift File.dirname(__FILE__)
2
-
3
- require 'file_system_behaviors'
4
- require 'physical_system_stub'
5
-
6
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'buildmaster')
7
-
8
- require 'cotta/physical_system'
9
1
  require 'spec'
2
+ dir = File.dirname(__FILE__)
3
+ require dir + '/../test'
4
+ require dir + '/file_system_behaviors'
10
5
 
11
6
  module BuildMaster
12
7
 
@@ -31,5 +26,9 @@ describe PhysicalSystem do
31
26
  @system = PhysicalSystem.new
32
27
  @system.shell('ruby --version')[0..3].should == 'ruby'
33
28
  end
29
+
30
+ it 'should equals to any other physical system' do
31
+ PhysicalSystem.new.should == PhysicalSystem.new
32
+ end
34
33
  end
35
34
  end