Files
ARCADIA-Studio/harness/experiments/packaged-server-865483b-20260911/payload/coverage-adaptation.diff
T

39 lines
2.4 KiB
Diff

--- original
+++ private
@@ -1,9 +1,9 @@
#requires -Version 7.0
param([Parameter(Mandatory=$true)][string]$ServerExe)
$ErrorActionPreference = 'Stop'
-$taskRoot = (Resolve-Path (Join-Path $PSScriptRoot '../../..')).Path
+$taskRoot = $PSScriptRoot
$exe = (Resolve-Path -LiteralPath $ServerExe).Path
-$runRoot = Join-Path $taskRoot ('.local/rest-coverage-' + (Get-Date -Format 'yyyyMMdd-HHmmss'))
+$runRoot = Join-Path $taskRoot 'rest'
$storePath = Join-Path $runRoot 'store'
New-Item -ItemType Directory -Path $runRoot,$storePath | Out-Null
$payload = Get-Content -LiteralPath (Join-Path $PSScriptRoot 'coverage-probe.json') -Raw | ConvertFrom-Json -AsHashtable
@@ -23,6 +23,7 @@
function Start-ProbeServer {
$script:launch++
$startOptions = @{
+ WorkingDirectory = Join-Path $PSScriptRoot 'unrelated-cwd'
FilePath = $exe
ArgumentList = @('--bind',"127.0.0.1:$probePort",'--data-dir',('"'+$storePath+'"'),'--token-file',('"'+$tokenPath+'"'))
PassThru = $true
@@ -32,6 +33,7 @@
# WindowStyle is Windows-only; Unix keeps the child attached to this probe.
if ($IsWindows) { $startOptions.WindowStyle = 'Hidden' }
$script:probeProcess = Start-Process @startOptions
+ @{pid=$script:probeProcess.Id;exe=$exe;arguments=$startOptions.ArgumentList;cwd=$startOptions.WorkingDirectory;PATH=$env:PATH;started=(Get-Date -Format o)} | ConvertTo-Json -Depth 10 | Set-Content (Join-Path $runRoot "server-$script:launch.launch.json")
for ($attempt = 0; $attempt -lt 40; $attempt++) {
if ($script:probeProcess.HasExited) { throw 'Probe server exited before readiness' }
try { $ready=Invoke-WebRequest "$base/health/ready" -TimeoutSec 1; if ($ready.StatusCode -eq 200) { return } } catch {}
@@ -44,6 +46,7 @@
Stop-Process -InputObject $script:probeProcess
$script:probeProcess.WaitForExit()
}
+ if ($null -ne $script:probeProcess) { @{pid=$script:probeProcess.Id;has_exited=$script:probeProcess.HasExited;exit_code=$script:probeProcess.ExitCode;stopped=(Get-Date -Format o);method='owned probe Stop-Process after assertions'} | ConvertTo-Json | Set-Content (Join-Path $runRoot "server-$script:launch.stop.json") }
$script:probeProcess = $null
}
function Call-Probe([string]$name,[string]$method,[string]$path,$body=$null,[string]$etag='',[int]$expectedStatus=200) {