Skip to content

Commit

Permalink
Merged with nested build changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesKovacs committed Mar 4, 2010
2 parents 7217d6e + c3fc210 commit 8cf70a3
Show file tree
Hide file tree
Showing 13 changed files with 247 additions and 110 deletions.
38 changes: 38 additions & 0 deletions examples/checkvariables.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Properties {
$x = 1
$y = 2
}

FormatTaskName "[{0}]"

Task default -Depends Verify

Task Verify -Description "This task verifies psake's variables" {

$assertions = @(
((Test-Path 'variable:\psake'), "'psake' variable was not exported from module"),
(($variable:psake.ContainsKey("build_success")), "psake variable does not contain 'build_success'"),
(($variable:psake.ContainsKey("use_exit_on_error")), "psake variable does not contain 'use_exit_on_error'"),
(($variable:psake.ContainsKey("log_error")), "psake variable does not contain 'log_error'"),
(($variable:psake.ContainsKey("version")), "psake variable does not contain 'version'"),
(($variable:psake.ContainsKey("build_script_file")), "psake variable does not contain 'build_script_file'"),
(($variable:psake.ContainsKey("framework_version")), "psake variable does not contain 'framework_version'"),
((!$variable:psake.build_success), 'psake.build_success should be $false'),
((!$variable:psake.use_exit_on_error), 'psake.use_exit_on_error should be $false'),
((!$variable:psake.log_error), 'psake.log_error should be $false'),
((![string]::IsNullOrEmpty($variable:psake.version)), 'psake.version was null or empty'),
(($variable:psake.build_script_file -ne $null), '$psake.build_script_file was null'),
(($variable:psake.build_script_file.Name -eq "checkvariables.ps1"), ("psake variable: {0} was not equal to 'VerifyVariables.ps1'" -f $psake.build_script_file.Name)),
((![string]::IsNullOrEmpty($variable:psake.framework_version)), 'psake variable: $psake.framework_version was null or empty'),
(($variable:context.Peek().tasks.Count -ne 0), 'psake variable: $tasks had length zero'),
(($variable:context.Peek().properties.Count -ne 0), 'psake variable: $properties had length zero'),
(($variable:context.Peek().includes.Count -eq 0), 'psake variable: $includes should have had length zero'),
(($variable:context.Peek().formatTaskNameString -eq "[{0}]"), 'psake variable: $formatTaskNameString was not set correctly'),
(($variable:context.Peek().currentTaskName -eq "Verify"), 'psake variable: $currentTaskName was not set correctly')
)

foreach ($assertion in $assertions)
{
Assert ( $assertion[0] ) $assertion[1]
}
}
14 changes: 14 additions & 0 deletions examples/continueonerror.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Task default -Depends TaskA

Task TaskA -Depends TaskB {
"Task - A"
}

Task TaskB -Depends TaskC -ContinueOnError {
"Task - B"
throw "I failed on purpose!"
}

Task TaskC {
"Task - C"
}
17 changes: 17 additions & 0 deletions examples/nested.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Properties {
$x = 1
}

Task default -Depends RunNested1, RunNested2, CheckX

Task RunNested1 {
Invoke-psake .\nested\nested1.ps1
}

Task RunNested2 {
Invoke-psake .\nested\nested2.ps1
}

Task CheckX{
Assert ($x -eq 1) '$x was not 1'
}
1 change: 1 addition & 0 deletions examples/nested/nested1.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Properties { $x = 100}Task default -Depends Nested1CheckXTask Nested1CheckX{ Assert ($x -eq 100) '$x was not 100' }
Expand Down
1 change: 1 addition & 0 deletions examples/nested/nested2.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Properties { $x = 200}Task default -Depends Nested2CheckXTask Nested2CheckX{ Assert ($x -eq 200) '$x was not 200' }
Expand Down
11 changes: 11 additions & 0 deletions examples/parameters.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
properties {
$p1 = $null
$p2 = $null
}

task default -depends TestParams

task TestParams {
Assert ($p1 -ne $null) "p1 should not be null"
Assert ($p2 -ne $null) "p2 should not be null"
}
13 changes: 13 additions & 0 deletions examples/preandpostaction.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
task default -depends Test

task Test -depends Compile, Clean -PreAction {"Pre-Test"} -Action {
"Test"
} -PostAction {"Post-Test"}

task Compile -depends Clean {
"Compile"
}

task Clean {
"Clean"
}
13 changes: 10 additions & 3 deletions psake-buildTester.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ function runBuilds{
foreach($buildFile in $buildFiles) {
$testResult = "" | select Name, Result
$testResult.Name = $buildFile.Name
Invoke-psake $buildFile.FullName | Out-Null

Invoke-psake $buildFile.FullName -Parameters @{'p1'='v1'; 'p2'='v2'} | Out-Null
$testResult.Result = (getResult $buildFile.Name $psake.build_success)
$testResults += $testResult
}

return $testResults
}

Expand All @@ -35,18 +37,23 @@ function getResult([string]$fileName, [bool]$buildSucceeded) {
}
}

Remove-Module psake -ea SilentlyContinue

Import-Module .\psake.psm1

$results = runBuilds

Remove-Module psake

$results | Sort 'Name' | Format-Table -Auto
""
$results | Sort 'Name' | % { if ($_.Result -eq "Passed") { write-host ($_.Name + " (Passed)") -ForeGroundColor 'GREEN'} else { write-host ($_.Name + " (Failed)") -ForeGroundColor 'RED'}}
""

$failed = $results | ? { $_.Result -eq "Failed" }
if ($failed) {
if ($failed) {
write-host "One or more of the build files failed" -ForeGroundColor 'RED'
exit 1
} else {
write-host "All Builds Passed" -ForeGroundColor 'GREEN'
exit 0
}
Loading

0 comments on commit 8cf70a3

Please sign in to comment.