mirror of
https://github.com/pocoproject/poco.git
synced 2025-03-03 12:58:03 +01:00
feat: add running progen for tests and samples #4248
This commit is contained in:
parent
4416fc3c75
commit
7446252dca
52
progen.ps1
52
progen.ps1
@ -6,6 +6,8 @@
|
|||||||
# progen.ps1 [-poco_base dir]
|
# progen.ps1 [-poco_base dir]
|
||||||
# [-vs 140 | 150 | 160| 170]
|
# [-vs 140 | 150 | 160| 170]
|
||||||
# [-omit "Lib1X,LibY,LibZ,..."]
|
# [-omit "Lib1X,LibY,LibZ,..."]
|
||||||
|
# [-samples]
|
||||||
|
# [-tests]
|
||||||
|
|
||||||
[CmdletBinding()]
|
[CmdletBinding()]
|
||||||
Param
|
Param
|
||||||
@ -18,6 +20,8 @@ Param
|
|||||||
[int] $vs = 140,
|
[int] $vs = 140,
|
||||||
|
|
||||||
[string] $omit,
|
[string] $omit,
|
||||||
|
[switch] $samples = $false,
|
||||||
|
[switch] $tests = $false,
|
||||||
|
|
||||||
[switch] $help
|
[switch] $help
|
||||||
)
|
)
|
||||||
@ -31,6 +35,8 @@ function Process-Input
|
|||||||
Write-Host 'progen.ps1 [-poco_base <dir>]'
|
Write-Host 'progen.ps1 [-poco_base <dir>]'
|
||||||
Write-Host ' [-vs 140 | 150 | 160 | 170]'
|
Write-Host ' [-vs 140 | 150 | 160 | 170]'
|
||||||
Write-Host ' [-omit "Lib1X,LibY,LibZ,..."]'
|
Write-Host ' [-omit "Lib1X,LibY,LibZ,..."]'
|
||||||
|
Write-Host ' [-samples]'
|
||||||
|
Write-Host ' [-tests]'
|
||||||
Exit
|
Exit
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -41,6 +47,8 @@ function Process-Input
|
|||||||
Write-Host "--------------------"
|
Write-Host "--------------------"
|
||||||
Write-Host "Poco Base: $poco_base"
|
Write-Host "Poco Base: $poco_base"
|
||||||
Write-Host "Version: $vs"
|
Write-Host "Version: $vs"
|
||||||
|
Write-Host "Samples: $samples"
|
||||||
|
Write-Host "Tests: $tests"
|
||||||
|
|
||||||
if ($omit -ne '')
|
if ($omit -ne '')
|
||||||
{
|
{
|
||||||
@ -56,7 +64,27 @@ function Process-Input
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Run-Progen-Components
|
function Run-Progen-Samples
|
||||||
|
{
|
||||||
|
process {
|
||||||
|
$sampleName = $_.BaseName.split(".")[0]
|
||||||
|
if($_.Name -eq "samples.progen") {
|
||||||
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
|
Write-Host "| Running Progen for $componentDir\$sampleName"
|
||||||
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
|
$sampleProgenPath = "$($poco_base)\$($componentDir)\$($sampleName)\$($_)"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
|
Write-Host "| Running Progen for $componentDir\samples\$sampleName"
|
||||||
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
|
$sampleProgenPath = "$($poco_base)\$($componentDir)\samples\$($sampleName)\$($_)"
|
||||||
|
}
|
||||||
|
Invoke-Expression "$progenPath /tool=vs$vs $sampleProgenPath"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function Run-Progen-Components([string] $type)
|
||||||
{
|
{
|
||||||
if(Test-Path "$poco_base\ProGen\bin64\static_mt\progen.exe") {
|
if(Test-Path "$poco_base\ProGen\bin64\static_mt\progen.exe") {
|
||||||
$progenPath = Resolve-Path "$poco_base\ProGen\bin64\static_mt\progen.exe"
|
$progenPath = Resolve-Path "$poco_base\ProGen\bin64\static_mt\progen.exe"
|
||||||
@ -81,13 +109,27 @@ function Run-Progen-Components
|
|||||||
|
|
||||||
if ($omitArray -NotContains $component)
|
if ($omitArray -NotContains $component)
|
||||||
{
|
{
|
||||||
$componentProgenPath = "$poco_base\$componentDir\$componentName.Progen"
|
|
||||||
|
|
||||||
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
Write-Host "| Running ProGen for $componentDir"
|
Write-Host "| Running ProGen for $componentDir"
|
||||||
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
|
|
||||||
Invoke-Expression "$progenPath /tool=vs$vs $componentProgenPath"
|
if($type -eq "lib") {
|
||||||
|
$componentProgenPath = "$poco_base\$componentDir\$componentName.Progen"
|
||||||
|
Invoke-Expression "$progenPath /tool=vs$vs $componentProgenPath"
|
||||||
|
}
|
||||||
|
ElseIf ($tests -and ($type -eq "test")) {
|
||||||
|
$componentTestProgenPath = "$poco_base\$componentDir\testsuite\TestSuite.Progen"
|
||||||
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
|
Write-Host "| Running Progen for $componentDir\testsuite"
|
||||||
|
Write-Host "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||||
|
Invoke-Expression "$progenPath /tool=vs$vs $componentTestProgenPath"
|
||||||
|
}
|
||||||
|
ElseIf ($samples -and ($type -eq "sample")) {
|
||||||
|
Get-Childitem "$poco_base\$($componentDir)" -Recurse |`
|
||||||
|
Where-Object {$_.Extension -Match ".progen" -And $_.DirectoryName -Like "*samples*" } `
|
||||||
|
| Run-Progen-Samples "$_"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -102,7 +144,9 @@ function Run
|
|||||||
{
|
{
|
||||||
Process-Input
|
Process-Input
|
||||||
|
|
||||||
Run-Progen-Components
|
Run-Progen-Components "lib"
|
||||||
|
Run-Progen-Components "test"
|
||||||
|
Run-Progen-Components "sample"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user