forked from microsoft/TemplateStudio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathParallelTestExecution.ps1
42 lines (31 loc) · 1.1 KB
/
ParallelTestExecution.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True,Position=1)]
[string]$testRunner,
[Parameter(Mandatory=$True,Position=2)]
[string]$testLibrary,
[Parameter(Mandatory=$True,Position=3)]
[string[]]$traits,
[Parameter(Mandatory=$True,Position=4)]
[string]$outputDir)
$error.Clear()
workflow pbatch {
param([string] $testrunner, [string] $testLibrary, [string[]] $traits, [string] $outputDir)
Write-Output $testrunner
$results = @{}
foreach -parallel ($trait in $traits) {
$outData = InlineScript {
. $Using:testrunner $Using:testLibrary -xml "$Using:outputDir\TEST-$Using:trait-Result.xml" -parallel none -trait $Using:trait
} -AppendOutput $true -MergeErrorToOutput $false
Write-output "Trait $trait execution:" $outData "" ""
}
}
pbatch -testrunner $testrunner -testlibrary $testLibrary -traits $traits -outputDir $outputDir
if($error.Count -gt 0){
Write-Output "Test failed summary:"
foreach($e in $error){
Write-Output $e.Exception
}
Write-Output "" "Check execution result for details."
}
exit $error.Count