albacore 0.0.7
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.
- data/EULA.txt +19 -0
- data/README.markdown +70 -0
- data/VERSION +1 -0
- data/lib/albacore.rb +9 -0
- data/lib/albacore/assemblyinfo.rb +104 -0
- data/lib/albacore/expandtemplates.rb +64 -0
- data/lib/albacore/msbuild.rb +63 -0
- data/lib/albacore/mspectestrunner.rb +33 -0
- data/lib/albacore/ncoverconsole.rb +64 -0
- data/lib/albacore/ncoverreport.rb +61 -0
- data/lib/albacore/ncoverreports/assemblyfilter.rb +10 -0
- data/lib/albacore/ncoverreports/branchcoverage.rb +10 -0
- data/lib/albacore/ncoverreports/classfilter.rb +9 -0
- data/lib/albacore/ncoverreports/codecoveragebase.rb +25 -0
- data/lib/albacore/ncoverreports/cyclomaticcomplexity.rb +23 -0
- data/lib/albacore/ncoverreports/documentfilter.rb +9 -0
- data/lib/albacore/ncoverreports/fullcoveragereport.rb +21 -0
- data/lib/albacore/ncoverreports/methodcoverage.rb +10 -0
- data/lib/albacore/ncoverreports/methodfilter.rb +9 -0
- data/lib/albacore/ncoverreports/namespacefilter.rb +9 -0
- data/lib/albacore/ncoverreports/reportfilterbase.rb +26 -0
- data/lib/albacore/ncoverreports/summaryreport.rb +22 -0
- data/lib/albacore/ncoverreports/symbolcoverage.rb +10 -0
- data/lib/albacore/nunittestrunner.rb +38 -0
- data/lib/albacore/sftp.rb +24 -0
- data/lib/albacore/sqlcmd.rb +55 -0
- data/lib/albacore/ssh.rb +25 -0
- data/lib/albacore/support/albacore_helper.rb +4 -0
- data/lib/albacore/support/failure.rb +22 -0
- data/lib/albacore/support/logging.rb +32 -0
- data/lib/albacore/support/runcommand.rb +45 -0
- data/lib/albacore/support/yamlconfig.rb +30 -0
- data/lib/albacore/zipdirectory.rb +55 -0
- data/lib/rake/assemblyinfotask.rb +22 -0
- data/lib/rake/expandtemplatestask.rb +21 -0
- data/lib/rake/msbuildtask.rb +22 -0
- data/lib/rake/ncoverconsoletask.rb +22 -0
- data/lib/rake/ncoverreporttask.rb +22 -0
- data/lib/rake/nunittask.rb +22 -0
- data/lib/rake/renametask.rb +25 -0
- data/lib/rake/sftptask.rb +21 -0
- data/lib/rake/sqlcmdtask.rb +22 -0
- data/lib/rake/sshtask.rb +21 -0
- data/lib/rake/ziptask.rb +21 -0
- data/rakefile.rb +144 -0
- data/spec/assemblyinfo_spec.rb +246 -0
- data/spec/assemblyinfotask_spec.rb +31 -0
- data/spec/expandtemplates_spec.rb +127 -0
- data/spec/expandtemplatestask_spec.rb +31 -0
- data/spec/msbuild_spec.rb +173 -0
- data/spec/msbuildtask_spec.rb +31 -0
- data/spec/ncoverconsole_spec.rb +247 -0
- data/spec/ncoverconsoletask_spec.rb +31 -0
- data/spec/ncoverreport_spec.rb +577 -0
- data/spec/ncoverreporttask_spec.rb +31 -0
- data/spec/nunittask_spec.rb +31 -0
- data/spec/patches/system_patch.rb +16 -0
- data/spec/patches/tasklib_patch.rb +12 -0
- data/spec/renametask_spec.rb +30 -0
- data/spec/sftp_spec.rb +30 -0
- data/spec/sftptask_spec.rb +41 -0
- data/spec/sqlcmd_spec.rb +139 -0
- data/spec/sqlcmdtask_spec.rb +31 -0
- data/spec/ssh_spec.rb +48 -0
- data/spec/sshtask_spec.rb +39 -0
- data/spec/support/AssemblyInfo/assemblyinfo.yml +2 -0
- data/spec/support/CodeCoverage/mspec/assemblies/Machine.Specifications.NUnit.dll +0 -0
- data/spec/support/CodeCoverage/mspec/assemblies/Machine.Specifications.dll +0 -0
- data/spec/support/CodeCoverage/mspec/assemblies/TestSolution.MSpecTests.dll +0 -0
- data/spec/support/CodeCoverage/mspec/assemblies/TestSolution.dll +0 -0
- data/spec/support/CodeCoverage/mspec/assemblies/nunit.framework.dll +0 -0
- data/spec/support/CodeCoverage/nunit/assemblies/TestSolution.Tests.dll +0 -0
- data/spec/support/CodeCoverage/nunit/assemblies/TestSolution.dll +0 -0
- data/spec/support/CodeCoverage/nunit/assemblies/nunit.framework.dll +0 -0
- data/spec/support/CodeCoverage/nunit/failing_assemblies/TestSolution.FailingTests.dll +0 -0
- data/spec/support/CodeCoverage/nunit/failing_assemblies/nunit.framework.dll +0 -0
- data/spec/support/CodeCoverage/report/coverage.xml +4578 -0
- data/spec/support/TestSolution/TestSolution.FailingTests/FailingTestFixture.cs +19 -0
- data/spec/support/TestSolution/TestSolution.FailingTests/Properties/AssemblyInfo.cs +36 -0
- data/spec/support/TestSolution/TestSolution.FailingTests/TestSolution.FailingTests.csproj +63 -0
- data/spec/support/TestSolution/TestSolution.MSpecTests/Properties/AssemblyInfo.cs +36 -0
- data/spec/support/TestSolution/TestSolution.MSpecTests/SomeSpecTest.cs +18 -0
- data/spec/support/TestSolution/TestSolution.MSpecTests/TestSolution.MSpecTests.csproj +77 -0
- data/spec/support/TestSolution/TestSolution.Tests/Properties/AssemblyInfo.cs +36 -0
- data/spec/support/TestSolution/TestSolution.Tests/SomeTestFixture.cs +23 -0
- data/spec/support/TestSolution/TestSolution.Tests/TestSolution.Tests.csproj +69 -0
- data/spec/support/TestSolution/TestSolution.sln +38 -0
- data/spec/support/TestSolution/TestSolution/Class1.cs +17 -0
- data/spec/support/TestSolution/TestSolution/Properties/AssemblyInfo.cs +36 -0
- data/spec/support/TestSolution/TestSolution/TestSolution.csproj +59 -0
- data/spec/support/assemblyinfotester.rb +42 -0
- data/spec/support/expandtemplates/datafiles/multiplevalues.yml +3 -0
- data/spec/support/expandtemplates/datafiles/multitemplate-specificfile.yml +11 -0
- data/spec/support/expandtemplates/datafiles/multitemplate.yml +4 -0
- data/spec/support/expandtemplates/datafiles/sample.yml +1 -0
- data/spec/support/expandtemplates/templates/multipleinstance.config +4 -0
- data/spec/support/expandtemplates/templates/multiplevalues.config +1 -0
- data/spec/support/expandtemplates/templates/sample.config +1 -0
- data/spec/support/expandtemplatestestdata.rb +69 -0
- data/spec/support/msbuildtestdata.rb +32 -0
- data/spec/support/ncoverreporttestdata.rb +26 -0
- data/spec/support/spec_helper.rb +15 -0
- data/spec/support/test.yml +4 -0
- data/spec/support/zip/files/subfolder/sub file.txt +1 -0
- data/spec/support/zip/files/testfile.txt +1 -0
- data/spec/support/ziptestdata.rb +8 -0
- data/spec/yamlconfig_spec.rb +62 -0
- data/spec/zip_spec.rb +18 -0
- data/spec/ziptask_spec.rb +31 -0
- data/yaml_autoconfig_test.yml +1 -0
- metadata +262 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
using System.Reflection;
|
|
2
|
+
using System.Runtime.CompilerServices;
|
|
3
|
+
using System.Runtime.InteropServices;
|
|
4
|
+
|
|
5
|
+
// General Information about an assembly is controlled through the following
|
|
6
|
+
// set of attributes. Change these attribute values to modify the information
|
|
7
|
+
// associated with an assembly.
|
|
8
|
+
[assembly: AssemblyTitle("TestSolution")]
|
|
9
|
+
[assembly: AssemblyDescription("")]
|
|
10
|
+
[assembly: AssemblyConfiguration("")]
|
|
11
|
+
[assembly: AssemblyCompany("")]
|
|
12
|
+
[assembly: AssemblyProduct("TestSolution")]
|
|
13
|
+
[assembly: AssemblyCopyright("Copyright © 2009")]
|
|
14
|
+
[assembly: AssemblyTrademark("")]
|
|
15
|
+
[assembly: AssemblyCulture("")]
|
|
16
|
+
|
|
17
|
+
// Setting ComVisible to false makes the types in this assembly not visible
|
|
18
|
+
// to COM components. If you need to access a type in this assembly from
|
|
19
|
+
// COM, set the ComVisible attribute to true on that type.
|
|
20
|
+
[assembly: ComVisible(false)]
|
|
21
|
+
|
|
22
|
+
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
|
23
|
+
[assembly: Guid("dbabb27c-a536-4b5b-91f1-2226b6e3655c")]
|
|
24
|
+
|
|
25
|
+
// Version information for an assembly consists of the following four values:
|
|
26
|
+
//
|
|
27
|
+
// Major Version
|
|
28
|
+
// Minor Version
|
|
29
|
+
// Build Number
|
|
30
|
+
// Revision
|
|
31
|
+
//
|
|
32
|
+
// You can specify all the values or you can default the Build and Revision Numbers
|
|
33
|
+
// by using the '*' as shown below:
|
|
34
|
+
// [assembly: AssemblyVersion("1.0.*")]
|
|
35
|
+
[assembly: AssemblyVersion("1.0.0.0")]
|
|
36
|
+
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
<PropertyGroup>
|
|
4
|
+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
5
|
+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
6
|
+
<ProductVersion>9.0.30729</ProductVersion>
|
|
7
|
+
<SchemaVersion>2.0</SchemaVersion>
|
|
8
|
+
<ProjectGuid>{36F8C06F-3BBA-4D11-9333-83573A760284}</ProjectGuid>
|
|
9
|
+
<OutputType>Library</OutputType>
|
|
10
|
+
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
11
|
+
<RootNamespace>TestSolution</RootNamespace>
|
|
12
|
+
<AssemblyName>TestSolution</AssemblyName>
|
|
13
|
+
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
|
14
|
+
<FileAlignment>512</FileAlignment>
|
|
15
|
+
</PropertyGroup>
|
|
16
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
17
|
+
<DebugSymbols>true</DebugSymbols>
|
|
18
|
+
<DebugType>full</DebugType>
|
|
19
|
+
<Optimize>false</Optimize>
|
|
20
|
+
<OutputPath>bin\Debug\</OutputPath>
|
|
21
|
+
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
22
|
+
<ErrorReport>prompt</ErrorReport>
|
|
23
|
+
<WarningLevel>4</WarningLevel>
|
|
24
|
+
</PropertyGroup>
|
|
25
|
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
26
|
+
<DebugType>pdbonly</DebugType>
|
|
27
|
+
<Optimize>true</Optimize>
|
|
28
|
+
<OutputPath>bin\Release\</OutputPath>
|
|
29
|
+
<DefineConstants>TRACE</DefineConstants>
|
|
30
|
+
<ErrorReport>prompt</ErrorReport>
|
|
31
|
+
<WarningLevel>4</WarningLevel>
|
|
32
|
+
</PropertyGroup>
|
|
33
|
+
<ItemGroup>
|
|
34
|
+
<Reference Include="System" />
|
|
35
|
+
<Reference Include="System.Core">
|
|
36
|
+
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
|
37
|
+
</Reference>
|
|
38
|
+
<Reference Include="System.Xml.Linq">
|
|
39
|
+
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
|
40
|
+
</Reference>
|
|
41
|
+
<Reference Include="System.Data.DataSetExtensions">
|
|
42
|
+
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
|
43
|
+
</Reference>
|
|
44
|
+
<Reference Include="System.Data" />
|
|
45
|
+
<Reference Include="System.Xml" />
|
|
46
|
+
</ItemGroup>
|
|
47
|
+
<ItemGroup>
|
|
48
|
+
<Compile Include="Class1.cs" />
|
|
49
|
+
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
50
|
+
</ItemGroup>
|
|
51
|
+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
52
|
+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
53
|
+
Other similar extension points exist, see Microsoft.Common.targets.
|
|
54
|
+
<Target Name="BeforeBuild">
|
|
55
|
+
</Target>
|
|
56
|
+
<Target Name="AfterBuild">
|
|
57
|
+
</Target>
|
|
58
|
+
-->
|
|
59
|
+
</Project>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require 'albacore/assemblyinfo'
|
|
2
|
+
|
|
3
|
+
class AssemblyInfoTester < AssemblyInfo
|
|
4
|
+
|
|
5
|
+
attr_accessor :assemblyinfo_file
|
|
6
|
+
|
|
7
|
+
def initialize
|
|
8
|
+
@version = "0.0.0.1"
|
|
9
|
+
@title = "some assembly title"
|
|
10
|
+
@description = "some assembly description goes here."
|
|
11
|
+
@copyright = "some copyright info goes here"
|
|
12
|
+
@com_visible = false
|
|
13
|
+
@com_guid = "dbabb27c-a536-4b5b-91f1-2226b6e3655c"
|
|
14
|
+
@company_name = "some company name"
|
|
15
|
+
@product_name = "my product, yo."
|
|
16
|
+
@file_version = "1.0.0.0"
|
|
17
|
+
@trademark = "some trademark info goes here"
|
|
18
|
+
|
|
19
|
+
setup_assemblyinfo_file
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def setup_assemblyinfo_file
|
|
23
|
+
@assemblyinfo_file = File.join(File.dirname(__FILE__), "AssemblyInfo", "AssemblyInfo.cs")
|
|
24
|
+
File.delete @assemblyinfo_file if File.exist? @assemblyinfo_file
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def build_and_read_assemblyinfo_file(assemblyinfo)
|
|
28
|
+
assemblyinfo.output_file = @assemblyinfo_file
|
|
29
|
+
assemblyinfo.write
|
|
30
|
+
|
|
31
|
+
contents = ''
|
|
32
|
+
File.open(@assemblyinfo_file, "r") do |f|
|
|
33
|
+
contents = f.read
|
|
34
|
+
end
|
|
35
|
+
contents
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def yaml_file
|
|
39
|
+
return File.join(File.dirname(__FILE__), "AssemblyInfo", "assemblyinfo.yml")
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
value: 'the real value'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
this is #{a} with #{b} #{c}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
this is #{value}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
class ExpandTemplatesTestData
|
|
2
|
+
|
|
3
|
+
def initialize
|
|
4
|
+
@rootfolder = File.join(File.dirname(__FILE__), "expandtemplates")
|
|
5
|
+
@templatefolder = File.join(@rootfolder, "templates")
|
|
6
|
+
@workingfolder = File.join(@rootfolder, "working")
|
|
7
|
+
@outputfolder = File.join(@rootfolder, "output")
|
|
8
|
+
@datafilesfolder = File.join(@rootfolder, "datafiles")
|
|
9
|
+
create_working_folder
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def create_working_folder
|
|
13
|
+
Dir.mkdir(@workingfolder) unless File.exist?(@workingfolder)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def prep_sample_templates
|
|
17
|
+
FileUtils.rm(Dir.glob(File.join(@workingfolder, "*")))
|
|
18
|
+
sleep(1)
|
|
19
|
+
|
|
20
|
+
Dir.glob(File.join(@templatefolder, "*")){|f|
|
|
21
|
+
FileUtils.copy(f, @workingfolder)
|
|
22
|
+
}
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def sample_template_file
|
|
26
|
+
File.join(@workingfolder, "sample.config")
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def multipleinstance_template_file
|
|
30
|
+
File.join(@workingfolder, "multipleinstance.config")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def sample_output_file
|
|
34
|
+
File.join(@workingfolder, "this_is_an_output_file.config")
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def multiplevalues_template_file
|
|
38
|
+
File.join(@workingfolder, "multiplevalues.config")
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def multiplevalues_output_file
|
|
42
|
+
File.join(@workingfolder, "multiplevalues_output_file.config")
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def sample_data_file
|
|
46
|
+
File.join(@datafilesfolder, "sample.yml")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def multiplevalues_data_file
|
|
50
|
+
File.join(@datafilesfolder, "multiplevalues.yml")
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def multitemplate_data_file
|
|
54
|
+
File.join(@datafilesfolder, "multitemplate.yml")
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def multitemplate_specificfile_data_file
|
|
58
|
+
File.join(@datafilesfolder, "multitemplate-specificfile.yml")
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def read_file(file)
|
|
62
|
+
filedata = ''
|
|
63
|
+
File.open(file, "r") {|f|
|
|
64
|
+
filedata = f.read
|
|
65
|
+
}
|
|
66
|
+
filedata
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'albacore/msbuild'
|
|
2
|
+
|
|
3
|
+
class MSBuildTestData
|
|
4
|
+
|
|
5
|
+
attr_accessor :msbuild_path, :solution_path, :config_mode, :output_path
|
|
6
|
+
|
|
7
|
+
def initialize(config_mode='Debug')
|
|
8
|
+
@solution_path = File.join(File.dirname(__FILE__), "../", "support", "TestSolution", "TestSolution.sln")
|
|
9
|
+
@msbuild_path = "C:\\Windows/Microsoft.NET/Framework/v3.5/MSBuild.exe"
|
|
10
|
+
@config_mode = config_mode
|
|
11
|
+
|
|
12
|
+
setup_output
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def setup_output
|
|
16
|
+
@output_path = File.join(File.dirname(__FILE__), "../", "support", "TestSolution", "TestSolution", "bin", "#{@config_mode}", "TestSolution.dll")
|
|
17
|
+
File.delete @output_path if File.exist? @output_path
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def msbuild(path_to_msbuild=nil)
|
|
21
|
+
@msbuild = MSBuild.new
|
|
22
|
+
|
|
23
|
+
if (path_to_msbuild)
|
|
24
|
+
@msbuild_path = path_to_msbuild
|
|
25
|
+
(@msbuild.path_to_command = path_to_msbuild)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
@msbuild.extend(SystemPatch)
|
|
29
|
+
@msbuild
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
class NCoverReportTestData
|
|
2
|
+
@filedir = File.dirname(__FILE__)
|
|
3
|
+
@output_folder = File.expand_path(File.join(@filedir, "CodeCoverage", "report", "output"))
|
|
4
|
+
|
|
5
|
+
def self.path_to_command
|
|
6
|
+
File.expand_path(File.join(@filedir, "Tools", "NCover-v3.3", "NCover.Reporting.exe"))
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def self.coverage_file
|
|
10
|
+
File.expand_path(File.join(@filedir, "CodeCoverage", "report", "coverage.xml"))
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def self.output_folder
|
|
14
|
+
@output_folder
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.clean_output_folder
|
|
18
|
+
FileUtils.rmtree(@output_folder)
|
|
19
|
+
Dir.mkdir(@output_folder) unless File.exist?(@output_folder)
|
|
20
|
+
sleep(3) # this is a hack to work around the slow hard drive in my laptop, which caused failing tests w/ write-through-cache.
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def self.summary_output_file
|
|
24
|
+
File.join(NCoverReportTestData.output_folder, "summary.html")
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@root_dir = File.expand_path(File.join(File.dirname(__FILE__), "../../"))
|
|
2
|
+
|
|
3
|
+
$: << File.join(@root_dir, "lib")
|
|
4
|
+
$: << File.join(@root_dir, "spec")
|
|
5
|
+
$: << File.join(@root_dir, "spec/patches")
|
|
6
|
+
$: << File.join(@root_dir, "spec/support")
|
|
7
|
+
|
|
8
|
+
require 'not_a_mock'
|
|
9
|
+
require 'system_patch'
|
|
10
|
+
require 'tasklib_patch'
|
|
11
|
+
|
|
12
|
+
Spec::Runner.configure do |config|
|
|
13
|
+
config.mock_with NotAMock::RspecMockFrameworkAdapter
|
|
14
|
+
end
|
|
15
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
this is a sub file for the zip task.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
this is a test file for the zip task
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
|
|
2
|
+
require 'albacore/support/yamlconfig'
|
|
3
|
+
|
|
4
|
+
class YamlTest
|
|
5
|
+
include YAMLConfig
|
|
6
|
+
attr_accessor :some_name
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
describe YAMLConfig, "when configuring with yaml" do
|
|
10
|
+
before :all do
|
|
11
|
+
@yml = YamlTest.new
|
|
12
|
+
@yml.configure File.join(File.dirname(__FILE__), 'support', 'test.yml')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "should set the value of some_name" do
|
|
16
|
+
@yml.some_name.should == "some value"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "should create and set the value of another_name" do
|
|
20
|
+
@yml.another_name.should == "another value"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "should allow hash tables" do
|
|
24
|
+
@yml.a_hash.length.should == 2
|
|
25
|
+
@yml.a_hash['name'].should == "value"
|
|
26
|
+
@yml.a_hash['foo'].should == "bar"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should allow symbols" do
|
|
30
|
+
@yml.what_ever.should == :a_symbol
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe YAMLConfig, "when included yamlconfig in a class" do
|
|
35
|
+
|
|
36
|
+
class YAML_AutoConfig_Test
|
|
37
|
+
include YAMLConfig
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
before :all do
|
|
41
|
+
@yamltest = YAML_AutoConfig_Test.new
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it "should automatically configure the class through a yaml file named after the class" do
|
|
45
|
+
@yamltest.this_attr_was_automatically_added_by.should == "the yaml auto config"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
describe YAMLConfig, "when extending a class with yamlconfig" do
|
|
50
|
+
|
|
51
|
+
class YAML_AutoConfig_Test
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
before :all do
|
|
55
|
+
@yamltest = YAML_AutoConfig_Test.new
|
|
56
|
+
@yamltest.extend YAMLConfig
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it "should automatically configure the class through a yaml file named after the class" do
|
|
60
|
+
@yamltest.this_attr_was_automatically_added_by.should == "the yaml auto config"
|
|
61
|
+
end
|
|
62
|
+
end
|
data/spec/zip_spec.rb
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
|
|
2
|
+
require 'albacore/zipdirectory'
|
|
3
|
+
require 'ziptestdata'
|
|
4
|
+
|
|
5
|
+
describe ZipDirectory, 'when zipping a directory of files' do
|
|
6
|
+
before :each do
|
|
7
|
+
zip = ZipDirectory.new
|
|
8
|
+
puts "#{ZipTestData.folder}"
|
|
9
|
+
zip.directory_to_zip = ZipTestData.folder
|
|
10
|
+
zip.file = "test.zip"
|
|
11
|
+
zip.package
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "should prodice a zip file" do
|
|
15
|
+
File.exist?(File.join(ZipTestData.folder, "test.zip")).should be_true
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'support', 'spec_helper')
|
|
2
|
+
require 'albacore/zipdirectory'
|
|
3
|
+
require 'rake/ziptask'
|
|
4
|
+
require 'tasklib_patch'
|
|
5
|
+
|
|
6
|
+
describe Albacore::ZipTask, "when running" do
|
|
7
|
+
before :all do
|
|
8
|
+
task = Albacore::ZipTask.new() do |t|
|
|
9
|
+
@yielded_object = t
|
|
10
|
+
end
|
|
11
|
+
task.extend(TasklibPatch)
|
|
12
|
+
Rake::Task[:zip].invoke
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "should yield the zip api" do
|
|
16
|
+
@yielded_object.kind_of?(ZipDirectory).should be_true
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
describe Albacore::ZipTask, "when execution fails" do
|
|
21
|
+
before :all do
|
|
22
|
+
@task = Albacore::ZipTask.new(:failingtask)
|
|
23
|
+
@task.extend(TasklibPatch)
|
|
24
|
+
Rake::Task["failingtask"].invoke
|
|
25
|
+
@task.fail
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "should fail the rake task" do
|
|
29
|
+
@task.task_failed.should == true
|
|
30
|
+
end
|
|
31
|
+
end
|