albacore 0.1.5 → 0.2.0.preview1
Sign up to get free protection for your applications and to get access to all the features.
- data/.autotest +4 -0
- data/README.markdown +1 -1
- data/VERSION +1 -1
- data/install_dependencies.rb +2 -3
- data/lib/albacore.rb +1 -0
- data/lib/albacore/albacoremodel.rb +28 -0
- data/lib/albacore/assemblyinfo.rb +5 -4
- data/lib/albacore/config/assemblyinfoconfig.rb +21 -0
- data/lib/albacore/config/config.rb +14 -0
- data/lib/albacore/config/cscconfig.rb +33 -0
- data/lib/albacore/config/docuconfig.rb +25 -0
- data/lib/albacore/config/execconfig.rb +22 -0
- data/lib/albacore/config/msbuildconfig.rb +32 -0
- data/lib/albacore/config/mspecconfig.rb +21 -0
- data/lib/albacore/config/nantconfig.rb +22 -0
- data/lib/albacore/config/ncoverconsoleconfig.rb +22 -0
- data/lib/albacore/config/ncoverreportconfig.rb +22 -0
- data/lib/albacore/config/ndependconfig.rb +22 -0
- data/lib/albacore/config/netversion.rb +23 -0
- data/lib/albacore/config/nunitconfig.rb +20 -0
- data/lib/albacore/config/specflowreportconfig.rb +27 -0
- data/lib/albacore/config/sqlcmdconfig.rb +22 -0
- data/lib/albacore/config/unzipconfig.rb +22 -0
- data/lib/albacore/config/xbuildconfig.rb +22 -0
- data/lib/albacore/config/xunitconfig.rb +22 -0
- data/lib/albacore/config/zipconfig.rb +22 -0
- data/lib/albacore/csc.rb +31 -0
- data/lib/albacore/docu.rb +8 -6
- data/lib/albacore/exec.rb +9 -3
- data/lib/albacore/msbuild.rb +5 -12
- data/lib/albacore/mspectestrunner.rb +9 -7
- data/lib/albacore/nant.rb +5 -4
- data/lib/albacore/ncoverconsole.rb +6 -9
- data/lib/albacore/ncoverreport.rb +8 -6
- data/lib/albacore/ncoverreports/codecoveragebase.rb +4 -4
- data/lib/albacore/ncoverreports/cyclomaticcomplexity.rb +4 -4
- data/lib/albacore/ncoverreports/fullcoveragereport.rb +3 -3
- data/lib/albacore/ncoverreports/reportfilterbase.rb +4 -4
- data/lib/albacore/ncoverreports/summaryreport.rb +3 -3
- data/lib/albacore/ndepend.rb +12 -9
- data/lib/albacore/nunittestrunner.rb +9 -7
- data/lib/albacore/specflowreport.rb +62 -0
- data/lib/albacore/sqlcmd.rb +8 -6
- data/lib/albacore/support/attrmethods.rb +7 -8
- data/lib/albacore/support/logging.rb +8 -4
- data/lib/albacore/support/openstruct.rb +13 -0
- data/lib/albacore/support/runcommand.rb +24 -24
- data/lib/albacore/support/supportlinux.rb +23 -0
- data/lib/albacore/support/yamlconfig.rb +2 -10
- data/lib/albacore/unzip.rb +14 -12
- data/lib/albacore/xbuild.rb +6 -5
- data/lib/albacore/xunittestrunner.rb +8 -6
- data/lib/albacore/zipdirectory.rb +27 -6
- data/lib/rake/csctask.rb +3 -0
- data/lib/rake/specflowreporttask.rb +3 -0
- data/lib/rake/unziptask.rb +1 -1
- data/rakefile.rb +21 -54
- data/spec/albacoremodel_spec.rb +35 -0
- data/spec/assemblyinfo_spec.rb +17 -0
- data/spec/attrmethods_spec.rb +17 -1
- data/spec/config_spec.rb +19 -0
- data/spec/createtask_spec.rb +45 -4
- data/spec/csc_spec.rb +87 -0
- data/spec/csctask_spec.rb +1 -0
- data/spec/docu_spec.rb +43 -1
- data/spec/exec_spec.rb +16 -1
- data/spec/msbuild_spec.rb +30 -18
- data/spec/mspec_spec.rb +28 -0
- data/spec/nant_spec.rb +20 -12
- data/spec/ncoverconsole_spec.rb +25 -13
- data/spec/ncoverreport_spec.rb +31 -18
- data/spec/ndepend_spec.rb +23 -2
- data/spec/nunittestrunner_spec.rb +48 -0
- data/spec/runcommand_spec.rb +59 -32
- data/spec/specflowreport_spec.rb +146 -0
- data/spec/specflowreporttask_spec.rb +48 -0
- data/spec/sqlcmd_spec.rb +18 -5
- data/spec/support/SpecFlow/TechTalk.SpecFlow.dll +0 -0
- data/spec/support/SpecFlow/TestSolution.SpecFlow.dll +0 -0
- data/spec/support/SpecFlow/TestSolution.SpecFlow.pdb +0 -0
- data/spec/support/SpecFlow/TestSolution.dll +0 -0
- data/spec/support/SpecFlow/TestSolution.pdb +0 -0
- data/spec/support/SpecFlow/nunit.framework.dll +0 -0
- data/spec/support/TestSolution/TestSolution.5.0.ReSharper.user +27 -0
- data/spec/support/TestSolution/TestSolution.SpecFlow/OneFeature.feature +8 -0
- data/spec/support/TestSolution/TestSolution.SpecFlow/OneFeature.feature.cs +73 -0
- data/spec/support/TestSolution/TestSolution.SpecFlow/Properties/AssemblyInfo.cs +36 -0
- data/spec/support/TestSolution/TestSolution.SpecFlow/StepDefinition.cs +30 -0
- data/spec/support/TestSolution/TestSolution.SpecFlow/TestSolution.SpecFlow.csproj +84 -0
- data/spec/support/TestSolution/TestSolution.sln +6 -0
- data/spec/support/csc/File1.cs +9 -0
- data/spec/support/csc/File2.cs +9 -0
- data/spec/support/csc/output/ignorethis.txt +1 -0
- data/spec/support/msbuildtestdata.rb +3 -3
- data/spec/support/ncoverreporttestdata.rb +2 -2
- data/spec/support/spec_helper.rb +2 -1
- data/spec/support/yamlconfig/yaml_autoconfig_test.yml +1 -1
- data/spec/unzip_spec.rb +15 -0
- data/spec/xbuild_spec.rb +15 -0
- data/spec/xunit_spec.rb +16 -2
- data/spec/yamlconfig_spec.rb +7 -6
- data/spec/zip_spec.rb +50 -9
- data/watchrtesting.rb +8 -0
- metadata +99 -91
- data/lib/albacore/expandtemplates.rb +0 -81
- data/lib/albacore/plink.rb +0 -49
- data/lib/albacore/renamer.rb +0 -17
- data/lib/albacore/sftp.rb +0 -42
- data/lib/albacore/ssh.rb +0 -44
- data/lib/albacore/support/albacore_helper.rb +0 -1
- data/lib/albacore/support/globalconfig.rb +0 -6
- data/lib/rake/expandtemplatestask.rb +0 -3
- data/lib/rake/plinktask.rb +0 -3
- data/lib/rake/renametask.rb +0 -3
- data/lib/rake/sftptask.rb +0 -3
- data/lib/rake/sshtask.rb +0 -3
- data/spec/expandtemplates_spec.rb +0 -180
- data/spec/expandtemplatestask_spec.rb +0 -46
- data/spec/plink_spec.rb +0 -62
- data/spec/plinktask_spec.rb +0 -46
- data/spec/renametask_spec.rb +0 -32
- data/spec/sftp_spec.rb +0 -30
- data/spec/sftptask_spec.rb +0 -42
- data/spec/ssh_spec.rb +0 -47
- data/spec/sshtask_spec.rb +0 -40
- data/spec/support/expandtemplates/datafiles/multiplevalues.yml +0 -3
- data/spec/support/expandtemplates/datafiles/multitemplate-specificfile.yml +0 -11
- data/spec/support/expandtemplates/datafiles/multitemplate.yml +0 -4
- data/spec/support/expandtemplates/datafiles/sample.yml +0 -1
- data/spec/support/expandtemplates/datafiles/sample_with_include.yml +0 -2
- data/spec/support/expandtemplates/datafiles/template_specific_data_file_with_include.yml +0 -5
- data/spec/support/expandtemplates/datafiles/template_specific_include.yml +0 -3
- data/spec/support/expandtemplates/templates/multipleinstance.config +0 -4
- data/spec/support/expandtemplates/templates/multiplevalues.config +0 -1
- data/spec/support/expandtemplates/templates/sample.config +0 -1
- data/spec/support/expandtemplatestestdata.rb +0 -77
data/lib/albacore/xbuild.rb
CHANGED
@@ -1,18 +1,19 @@
|
|
1
|
-
require 'albacore/
|
1
|
+
require 'albacore/albacoremodel'
|
2
|
+
require 'albacore/config/xbuildconfig'
|
2
3
|
|
3
4
|
class XBuild
|
4
|
-
|
5
|
+
include AlbacoreModel
|
5
6
|
include RunCommand
|
6
|
-
include
|
7
|
-
include Logging
|
7
|
+
include Configuration::XBuild
|
8
8
|
|
9
9
|
attr_accessor :solution, :verbosity
|
10
10
|
attr_array :targets
|
11
11
|
attr_hash :properties
|
12
12
|
|
13
13
|
def initialize
|
14
|
-
@
|
14
|
+
@command = 'xbuild'
|
15
15
|
super()
|
16
|
+
update_attributes xbuild.to_hash
|
16
17
|
end
|
17
18
|
|
18
19
|
def build
|
@@ -1,22 +1,24 @@
|
|
1
|
-
require 'albacore/
|
1
|
+
require 'albacore/albacoremodel'
|
2
|
+
require 'albacore/config/xunitconfig'
|
2
3
|
|
3
4
|
class XUnitTestRunner
|
4
|
-
|
5
|
+
include AlbacoreModel
|
5
6
|
include RunCommand
|
6
|
-
include
|
7
|
+
include Configuration::XUnit
|
7
8
|
|
8
9
|
attr_accessor :html_output
|
9
10
|
attr_array :options,:assembly,:assemblies
|
10
11
|
|
11
|
-
def initialize(
|
12
|
-
@path_to_command = path_to_command
|
12
|
+
def initialize(command=nil)
|
13
13
|
@options=[]
|
14
14
|
super()
|
15
|
+
update_attributes xunit.to_hash
|
16
|
+
@command = command unless command.nil?
|
15
17
|
end
|
16
18
|
|
17
19
|
def get_command_line
|
18
20
|
command_params = []
|
19
|
-
command_params << @
|
21
|
+
command_params << @command
|
20
22
|
command_params << get_command_parameters
|
21
23
|
commandline = command_params.join(" ")
|
22
24
|
@logger.debug "Build XUnit Test Runner Command Line: " + commandline
|
@@ -1,12 +1,12 @@
|
|
1
|
-
require 'albacore/
|
1
|
+
require 'albacore/albacoremodel'
|
2
|
+
require 'albacore/config/zipconfig'
|
2
3
|
require 'zip/zip'
|
3
4
|
require 'zip/zipfilesystem'
|
4
5
|
include Zip
|
5
6
|
|
6
7
|
class ZipDirectory
|
7
|
-
|
8
|
-
include
|
9
|
-
include Failure
|
8
|
+
include AlbacoreModel
|
9
|
+
include Configuration::Zip
|
10
10
|
|
11
11
|
attr_accessor :output_path, :output_file
|
12
12
|
attr_accessor :flatten_zip
|
@@ -16,6 +16,7 @@ class ZipDirectory
|
|
16
16
|
@flatten_zip = true
|
17
17
|
@exclusions = []
|
18
18
|
super()
|
19
|
+
update_attributes zip.to_hash
|
19
20
|
end
|
20
21
|
|
21
22
|
def package()
|
@@ -45,11 +46,31 @@ class ZipDirectory
|
|
45
46
|
end
|
46
47
|
|
47
48
|
def is_excluded(f)
|
48
|
-
|
49
|
+
expanded_exclusions.any? do |e|
|
49
50
|
return true if e.respond_to? '~' and f =~ e
|
50
51
|
e == f
|
51
52
|
end
|
52
53
|
end
|
54
|
+
|
55
|
+
def expanded_exclusions
|
56
|
+
return @expanded_exclusions unless @expanded_exclusions.nil?
|
57
|
+
|
58
|
+
regexp_exclusions, string_exclusions = @exclusions.partition {|x| x.respond_to? '~' }
|
59
|
+
@expanded_exclusions = [].concat(regexp_exclusions)
|
60
|
+
|
61
|
+
@directories_to_zip.each do |dir|
|
62
|
+
Dir.chdir(dir) do
|
63
|
+
string_exclusions.each do |ex|
|
64
|
+
exclusions = Dir.glob(ex)
|
65
|
+
exclusions = exclusions.map {|x| File.join(dir, x) } unless exclusions[0] == ex
|
66
|
+
exclusions << ex if exclusions.empty?
|
67
|
+
@expanded_exclusions += exclusions
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
@expanded_exclusions
|
73
|
+
end
|
53
74
|
|
54
75
|
def zip_name()
|
55
76
|
@output_path = set_output_path
|
@@ -82,4 +103,4 @@ class ZipDirectory
|
|
82
103
|
zipfile.add(file_name, file_path)
|
83
104
|
end
|
84
105
|
end
|
85
|
-
end
|
106
|
+
end
|
data/lib/rake/csctask.rb
ADDED
data/lib/rake/unziptask.rb
CHANGED
data/rakefile.rb
CHANGED
@@ -22,6 +22,12 @@ namespace :specs do
|
|
22
22
|
t.spec_opts << @spec_opts
|
23
23
|
end
|
24
24
|
|
25
|
+
desc "CSharp compiler (csc.exe) specs"
|
26
|
+
Spec::Rake::SpecTask.new :csc do |t|
|
27
|
+
t.spec_files = FileList['spec/csc*_spec.rb']
|
28
|
+
t.spec_opts << @spec_opts
|
29
|
+
end
|
30
|
+
|
25
31
|
desc "Assembly info functional specs"
|
26
32
|
Spec::Rake::SpecTask.new :assemblyinfo do |t|
|
27
33
|
t.spec_files = FileList['spec/assemblyinfo*_spec.rb']
|
@@ -59,36 +65,12 @@ namespace :specs do
|
|
59
65
|
t.spec_opts << @spec_opts
|
60
66
|
end
|
61
67
|
|
62
|
-
desc "SSH functional specs"
|
63
|
-
Spec::Rake::SpecTask.new :ssh do |t|
|
64
|
-
t.spec_files = FileList['spec/ssh*_spec.rb']
|
65
|
-
t.spec_opts << @spec_opts
|
66
|
-
end
|
67
|
-
|
68
|
-
desc "Plink functional specs"
|
69
|
-
Spec::Rake::SpecTask.new :plink do |t|
|
70
|
-
t.spec_files = FileList['spec/plink*_spec.rb']
|
71
|
-
t.spec_opts << @spec_opts
|
72
|
-
end
|
73
|
-
|
74
68
|
desc "Ndepend functional specs"
|
75
69
|
Spec::Rake::SpecTask.new :ndepend do |t|
|
76
70
|
t.spec_files = FileList['spec/ndepend*_spec.rb']
|
77
71
|
t.spec_opts << @spec_opts
|
78
72
|
end
|
79
73
|
|
80
|
-
desc "SFTP functional specs"
|
81
|
-
Spec::Rake::SpecTask.new :sftp do |t|
|
82
|
-
t.spec_files = FileList['spec/sftp*_spec.rb']
|
83
|
-
t.spec_opts << @spec_opts
|
84
|
-
end
|
85
|
-
|
86
|
-
desc "Expand Templates functional specs"
|
87
|
-
Spec::Rake::SpecTask.new :templates do |t|
|
88
|
-
t.spec_files = FileList['spec/expandtemplates*_spec.rb']
|
89
|
-
t.spec_opts << @spec_opts
|
90
|
-
end
|
91
|
-
|
92
74
|
desc "Zip functional specs"
|
93
75
|
Spec::Rake::SpecTask.new :zip do |t|
|
94
76
|
t.spec_files = FileList['spec/zip*_spec.rb']
|
@@ -119,12 +101,6 @@ namespace :specs do
|
|
119
101
|
t.spec_opts << @spec_opts
|
120
102
|
end
|
121
103
|
|
122
|
-
desc "Rename functional specs"
|
123
|
-
Spec::Rake::SpecTask.new :rename do |t|
|
124
|
-
t.spec_files = FileList['spec/rename*_spec.rb']
|
125
|
-
t.spec_opts << @spec_opts
|
126
|
-
end
|
127
|
-
|
128
104
|
desc "Docu functional specs"
|
129
105
|
Spec::Rake::SpecTask.new :docu do |t|
|
130
106
|
t.spec_files = FileList['spec/docu*_spec.rb']
|
@@ -139,16 +115,16 @@ namespace :specs do
|
|
139
115
|
end
|
140
116
|
|
141
117
|
namespace :albacore do
|
142
|
-
|
143
|
-
|
144
|
-
|
118
|
+
Albacore.configure do |config|
|
119
|
+
config.yaml_config_folder = "spec/support/yamlconfig"
|
120
|
+
config.log_level = :verbose
|
121
|
+
end
|
145
122
|
|
146
123
|
desc "Run a complete Albacore build sample"
|
147
124
|
task :sample => ['albacore:assemblyinfo',
|
148
125
|
'albacore:msbuild',
|
149
126
|
'albacore:ncoverconsole',
|
150
127
|
'albacore:ncoverreport',
|
151
|
-
'albacore:rename',
|
152
128
|
'albacore:mspec',
|
153
129
|
'albacore:nunit',
|
154
130
|
'albacore:xunit']
|
@@ -175,7 +151,7 @@ namespace :albacore do
|
|
175
151
|
File.delete(@xml_coverage) if File.exist?(@xml_coverage)
|
176
152
|
|
177
153
|
ncc.log_level = :verbose
|
178
|
-
ncc.
|
154
|
+
ncc.command = "spec/support/Tools/NCover-v3.3/NCover.Console.exe"
|
179
155
|
ncc.output :xml => @xml_coverage
|
180
156
|
ncc.working_directory = "spec/support/CodeCoverage/nunit"
|
181
157
|
|
@@ -191,7 +167,7 @@ namespace :albacore do
|
|
191
167
|
ncoverreport :ncoverreport => :ncoverconsole do |ncr|
|
192
168
|
@xml_coverage = "spec/support/CodeCoverage/test-coverage.xml"
|
193
169
|
|
194
|
-
ncr.
|
170
|
+
ncr.command = "spec/support/Tools/NCover-v3.3/NCover.Reporting.exe"
|
195
171
|
ncr.coverage_files @xml_coverage
|
196
172
|
|
197
173
|
fullcoveragereport = NCover::FullCoverageReport.new
|
@@ -204,14 +180,6 @@ namespace :albacore do
|
|
204
180
|
)
|
205
181
|
end
|
206
182
|
|
207
|
-
desc "Run the sample for renaming a File"
|
208
|
-
rename do |rename|
|
209
|
-
FileUtils.touch 'web.uat.config.example'
|
210
|
-
|
211
|
-
rename.actual_name = 'web.uat.config.example'
|
212
|
-
rename.target_name = 'web.config.example'
|
213
|
-
end
|
214
|
-
|
215
183
|
desc "Run ZipDirectory example"
|
216
184
|
zip do |zip|
|
217
185
|
zip.output_path = File.dirname(__FILE__)
|
@@ -228,19 +196,19 @@ namespace :albacore do
|
|
228
196
|
|
229
197
|
desc "MSpec Test Runner Example"
|
230
198
|
mspec do |mspec|
|
231
|
-
mspec.
|
199
|
+
mspec.command = "spec/support/Tools/Machine.Specification-v0.2/Machine.Specifications.ConsoleRunner.exe"
|
232
200
|
mspec.assemblies "spec/support/CodeCoverage/mspec/assemblies/TestSolution.MSpecTests.dll"
|
233
201
|
end
|
234
202
|
|
235
203
|
desc "NUnit Test Runner Example"
|
236
204
|
nunit do |nunit|
|
237
|
-
nunit.
|
205
|
+
nunit.command = "spec/support/Tools/NUnit-v2.5/nunit-console.exe"
|
238
206
|
nunit.assemblies "spec/support/CodeCoverage/nunit/assemblies/TestSolution.Tests.dll"
|
239
207
|
end
|
240
208
|
|
241
209
|
desc "XUnit Test Runner Example"
|
242
210
|
xunit do |xunit|
|
243
|
-
xunit.
|
211
|
+
xunit.command = "spec/support/Tools/XUnit-v1.5/xunit.console.exe"
|
244
212
|
xunit.assembly = "spec/support/CodeCoverage/xunit/assemblies/TestSolution.XUnitTests.dll"
|
245
213
|
end
|
246
214
|
|
@@ -265,18 +233,17 @@ namespace :jeweler do
|
|
265
233
|
gs.description = "Easily build your .NET solutions with Ruby and Rake, using this suite of Rake tasks."
|
266
234
|
gs.email = "derickbailey@gmail.com"
|
267
235
|
gs.homepage = "http://albacorebuild.net"
|
268
|
-
gs.authors = ["Derick Bailey", "Ben Hall", "etc"]
|
236
|
+
gs.authors = ["Derick Bailey", "Ben Hall", "Steve Harman", "etc"]
|
269
237
|
gs.has_rdoc = false
|
270
238
|
gs.files.exclude("albacore.gemspec", ".gitignore", "spec/support/Tools")
|
271
239
|
|
272
240
|
gs.add_dependency('rake', '>= 0.8.7')
|
273
|
-
gs.add_dependency('
|
274
|
-
gs.add_dependency('net-sftp', '>= 2.0.2')
|
275
|
-
gs.add_dependency('rubyzip', '>= 0.9.1')
|
241
|
+
gs.add_dependency('rubyzip', '>= 0.9.4')
|
276
242
|
|
277
|
-
gs.add_development_dependency('rspec', '>= 1.
|
278
|
-
gs.add_development_dependency('jeweler', '>= 1.
|
243
|
+
gs.add_development_dependency('rspec', '>= 1.3.0')
|
244
|
+
gs.add_development_dependency('jeweler', '>= 1.4.0')
|
279
245
|
gs.add_development_dependency('derickbailey-notamock', '>= 0.0.1')
|
280
|
-
gs.add_development_dependency('jekyll', '>= 0.5.
|
246
|
+
gs.add_development_dependency('jekyll', '>= 0.5.7')
|
247
|
+
gs.add_development_dependency('watchr', '>= 0.6')
|
281
248
|
end
|
282
249
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
|
2
|
+
require 'albacore/albacoremodel'
|
3
|
+
|
4
|
+
class ModelTest
|
5
|
+
include AlbacoreModel
|
6
|
+
attr_accessor :foo, :bar
|
7
|
+
attr_hash :a_hash
|
8
|
+
attr_array :a_array
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "when updating object attributes with a valid set of hash keys" do
|
12
|
+
before :each do
|
13
|
+
@model = ModelTest.new
|
14
|
+
@model << {:foo => "test", :bar => "whatever"}
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should set the attributes correctly" do
|
18
|
+
@model.foo.should == "test"
|
19
|
+
@model.bar.should == "whatever"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "when updating an object attributes with an invalid hash key" do
|
24
|
+
before :each do
|
25
|
+
@model = ModelTest.new
|
26
|
+
str = StringIO.new
|
27
|
+
@model.log_device = str
|
28
|
+
@model << {:something => "broken"}
|
29
|
+
@log = str.string
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should warn about the attribute not being found" do
|
33
|
+
@log.should include("something is not a settable attribute on ModelTest")
|
34
|
+
end
|
35
|
+
end
|
data/spec/assemblyinfo_spec.rb
CHANGED
@@ -475,3 +475,20 @@ describe AssemblyInfo, "when configuring the assembly info generator with a yaml
|
|
475
475
|
@asm.company_name.should == "some company name"
|
476
476
|
end
|
477
477
|
end
|
478
|
+
|
479
|
+
describe AssemblyInfo, "when assembly info configuration is provided" do
|
480
|
+
let :asm do
|
481
|
+
Albacore.configure do |config|
|
482
|
+
config.assemblyinfo do |asm|
|
483
|
+
asm.company_name = "foo"
|
484
|
+
asm.version = "bar"
|
485
|
+
end
|
486
|
+
end
|
487
|
+
asm = AssemblyInfo.new
|
488
|
+
asm
|
489
|
+
end
|
490
|
+
it "should use the supplied info" do
|
491
|
+
asm.company_name.should == "foo"
|
492
|
+
asm.version.should == "bar"
|
493
|
+
end
|
494
|
+
end
|
data/spec/attrmethods_spec.rb
CHANGED
@@ -50,6 +50,22 @@ describe "when setting an array attribute to an array variable using the equal s
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
+
describe "when setting an array attribute to an array without the equal sign" do
|
54
|
+
before :each do
|
55
|
+
class TestClass
|
56
|
+
extend AttrMethods
|
57
|
+
attr_array :test
|
58
|
+
end
|
59
|
+
|
60
|
+
@test = TestClass.new
|
61
|
+
@test.test [1, 2, 3, 4, 5, 6]
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should set the array to the values specified" do
|
65
|
+
@test.test.length.should be(6)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
53
69
|
describe "when setting a hash attribute value without the equal sign" do
|
54
70
|
before :each do
|
55
71
|
class Test_Class
|
@@ -82,7 +98,7 @@ describe "when setting a hash attribute with a params list, using the equal sign
|
|
82
98
|
end
|
83
99
|
end
|
84
100
|
|
85
|
-
describe "when setting a hash attribute to an
|
101
|
+
describe "when setting a hash attribute to an hash variable using the equal sign" do
|
86
102
|
before :each do
|
87
103
|
class TestClass
|
88
104
|
extend AttrMethods
|
data/spec/config_spec.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
|
2
|
+
require 'albacore/albacoremodel'
|
3
|
+
|
4
|
+
class ConfigTest
|
5
|
+
include AlbacoreModel
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "when configuring log level to verbose" do
|
9
|
+
let :test do
|
10
|
+
Albacore.configure do |config|
|
11
|
+
config.log_level = :verbose
|
12
|
+
end
|
13
|
+
test = ConfigTest.new
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should set the log level for any model" do
|
17
|
+
test.log_level.should == :verbose
|
18
|
+
end
|
19
|
+
end
|
data/spec/createtask_spec.rb
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
|
2
|
-
require 'albacore/
|
2
|
+
require 'albacore/albacoremodel'
|
3
3
|
require 'fail_patch'
|
4
4
|
|
5
5
|
class SampleObject
|
6
|
-
|
7
|
-
include Failure
|
8
|
-
include YAMLConfig
|
6
|
+
include AlbacoreModel
|
9
7
|
|
10
8
|
attr_array :array
|
11
9
|
attr_hash :hash
|
@@ -19,6 +17,15 @@ class SampleObject
|
|
19
17
|
end
|
20
18
|
end
|
21
19
|
|
20
|
+
class RunCommandObject
|
21
|
+
include AlbacoreModel
|
22
|
+
include RunCommand
|
23
|
+
|
24
|
+
def execute
|
25
|
+
result = run_command "Run Command Test Object"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
22
29
|
describe "when defining a task" do
|
23
30
|
before :all do
|
24
31
|
@sample_object = SampleObject.stub_instance()
|
@@ -170,3 +177,37 @@ describe "when creating two tasks and executing them" do
|
|
170
177
|
@instance_1.object_id.should_not == @instance_2.object_id
|
171
178
|
end
|
172
179
|
end
|
180
|
+
|
181
|
+
describe "when running two instances of a command line task" do
|
182
|
+
before :all do
|
183
|
+
create_task :run_command_task, Proc.new { RunCommandObject.new } do |ex|
|
184
|
+
ex.execute
|
185
|
+
end
|
186
|
+
|
187
|
+
run_command_task :one do |x|
|
188
|
+
x.extend(SystemPatch)
|
189
|
+
x.command = "set"
|
190
|
+
x.parameters "_albacore_test = test_one"
|
191
|
+
@one = x
|
192
|
+
end
|
193
|
+
|
194
|
+
run_command_task :two do |x|
|
195
|
+
x.extend(SystemPatch)
|
196
|
+
x.command = "set"
|
197
|
+
x.parameters "_another_albacore_test = test_two"
|
198
|
+
@two = x
|
199
|
+
end
|
200
|
+
|
201
|
+
Rake::Task[:one].invoke
|
202
|
+
Rake::Task[:two].invoke
|
203
|
+
end
|
204
|
+
|
205
|
+
it "should only pass the parameters specified to the first command" do
|
206
|
+
@one.system_command.should == "\"set\" _albacore_test = test_one"
|
207
|
+
end
|
208
|
+
|
209
|
+
it "should only pass the parameters specified to the second command" do
|
210
|
+
@two.system_command.should == "\"set\" _another_albacore_test = test_two"
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|