This allows to split a piglit job in several parallel jobs, to speed up the execution. Due piglit restrictions, this only works for single profiles. Otherwise an error will be shown in the runner. Also, a new gitlab job variable `PIGLIT_TESTS` is introduced that contains the excluded/included tests with `-x` or `-n`. The rest of the piglit options go to `PIGLIT_OPTIONS` (like `--timeout n`). v2 (Andres): - Replay profile is supported in parallel jobs. - Bail out inmediately if parallel jobs is tried with multiple profiles. - Use testlist only when doing parallel jobs. - Do not drop pass tests when filtering executed tests. - Get rid of PIGLIT_FRACTION. v4: - uncommit unrelated change (Andres). Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Andres Gomez <agomez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9022>
27 lines
1002 B
PowerShell
27 lines
1002 B
PowerShell
$env:PIGLIT_NO_FAST_SKIP = 1
|
|
|
|
Copy-Item -Path _install\bin\opengl32.dll -Destination C:\Piglit\lib\piglit\bin\opengl32.dll
|
|
|
|
# Run this using VsDevCmd.bat to ensure DXIL.dll is in %PATH%
|
|
cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && py -3 C:\Piglit\bin\piglit.py run `"$env:PIGLIT_PROFILE`" $env:PIGLIT_OPTIONS $env:PIGLIT_TESTS .\results"
|
|
|
|
py -3 C:\Piglit\bin\piglit.py summary console .\results | Select -SkipLast 1 | Select-String -NotMatch -Pattern ': pass' | Set-Content -Path .\result.txt
|
|
|
|
$reference = Get-Content ".\_install\$env:PIGLIT_PROFILE.txt"
|
|
$result = Get-Content .\result.txt
|
|
if (-Not ($reference -And $result)) {
|
|
Exit 1
|
|
}
|
|
|
|
$diff = Compare-Object -ReferenceObject $reference -DifferenceObject $result
|
|
if (-Not $diff) {
|
|
Exit 0
|
|
}
|
|
|
|
py -3 C:\Piglit\bin\piglit.py summary html --exclude-details=pass .\summary .\results
|
|
|
|
Write-Host "Unexpected change in results:"
|
|
Write-Output $diff | Format-Table -Property SideIndicator,InputObject -Wrap
|
|
|
|
Exit 1
|