private/Get-TestSettings.ps1
function Get-TestSettings { <# .SYNOPSIS Get the PHP test settings. .PARAMETER PhpVersion PHP Version #> [OutputType()] param ( [Parameter(Mandatory = $true, Position=0, HelpMessage='PHP Version')] [ValidateNotNull()] [ValidateLength(1, [int]::MaxValue)] [string] $PhpVersion ) begin { $settings = $null } process { $workers = $Env:NUMBER_OF_PROCESSORS / 2 * 3 $config = Get-Content "$PSScriptRoot\..\config\tests.config.json" -Raw | ConvertFrom-Json $majorMinorVersion = $PhpVersion.Substring(0, 3) if ($config.PSObject.Properties.Name -contains $majorMinorVersion) { $settings = $config.$majorMinorVersion } else { $settings = $config.default } $settings.workers = $settings.workers.Replace('NumWorkers', $workers) return $settings } end { } } |