diff options
| author | Stefan Boberg <[email protected]> | 2026-04-23 18:16:57 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2026-04-23 18:16:57 +0200 |
| commit | 0232b991cd7d8e3a2114ea30e4591dd3e7b65c36 (patch) | |
| tree | 94730e7594fd09ae1fa820391ce311f6daf13905 /scripts/test_scripts | |
| parent | Fix forward declaration order for s_GotSigWinch and SigWinchHandler (diff) | |
| parent | trace: declare Region event name fields as AnsiString (#1012) (diff) | |
| download | archived-zen-sb/zen-help.tar.xz archived-zen-sb/zen-help.zip | |
Merge branch 'main' into sb/zen-helpsb/zen-help
- Combine HelpCommand (this branch) with HistoryCommand (main) in zen CLI dispatcher
- Keep filter-aware TuiPickOne rewrite; adopt main's ASCII arrow glyphs in doc comment
Diffstat (limited to 'scripts/test_scripts')
| -rw-r--r-- | scripts/test_scripts/builds-download-upload-test.py | 2 | ||||
| -rw-r--r-- | scripts/test_scripts/builds-download-upload-update-build-ids.py | 2 | ||||
| -rw-r--r-- | scripts/test_scripts/hub_load_test.py | 1 | ||||
| -rw-r--r-- | scripts/test_scripts/hub_provision_perf_test.py | 1 | ||||
| -rw-r--r-- | scripts/test_scripts/kill-test-processes.ps1 | 19 | ||||
| -rwxr-xr-x | scripts/test_scripts/kill-test-processes.sh | 45 | ||||
| -rw-r--r-- | scripts/test_scripts/oplog-import-export-test.py | 2 | ||||
| -rw-r--r-- | scripts/test_scripts/oplog-update-build-ids.py | 2 |
8 files changed, 70 insertions, 4 deletions
diff --git a/scripts/test_scripts/builds-download-upload-test.py b/scripts/test_scripts/builds-download-upload-test.py index 8ff5245c1..dd9aae07e 100644 --- a/scripts/test_scripts/builds-download-upload-test.py +++ b/scripts/test_scripts/builds-download-upload-test.py @@ -82,7 +82,7 @@ SERVER_ARGS: tuple[str, ...] = ( def zen_cmd(*args: str | Path, extra_zen_args: list[str] | None = None) -> list[str | Path]: """Build a zen CLI command list, inserting extra_zen_args before subcommands.""" - return [ZEN_EXE, *(extra_zen_args or []), *args] + return [ZEN_EXE, "--enable-execution-history=false", *(extra_zen_args or []), *args] def run(cmd: list[str | Path]) -> None: diff --git a/scripts/test_scripts/builds-download-upload-update-build-ids.py b/scripts/test_scripts/builds-download-upload-update-build-ids.py index 2a63aa44d..6332d6990 100644 --- a/scripts/test_scripts/builds-download-upload-update-build-ids.py +++ b/scripts/test_scripts/builds-download-upload-update-build-ids.py @@ -51,7 +51,7 @@ def list_builds_for_bucket(zen: str, host: str, namespace: str, bucket: str) -> result_path = Path(tmp.name) cmd = [ - zen, "builds", "list", + zen, "--enable-execution-history=false", "builds", "list", "--namespace", namespace, "--bucket", bucket, "--host", host, diff --git a/scripts/test_scripts/hub_load_test.py b/scripts/test_scripts/hub_load_test.py index 7bff1eb37..33f05d90f 100644 --- a/scripts/test_scripts/hub_load_test.py +++ b/scripts/test_scripts/hub_load_test.py @@ -183,6 +183,7 @@ def _start_hub( cmd = [ str(zenserver_exe), "hub", + "--enable-execution-history=false", f"--data-dir={data_dir}", f"--port={port}", "--hub-instance-http-threads=8", diff --git a/scripts/test_scripts/hub_provision_perf_test.py b/scripts/test_scripts/hub_provision_perf_test.py index 5b264ad62..76fb8508d 100644 --- a/scripts/test_scripts/hub_provision_perf_test.py +++ b/scripts/test_scripts/hub_provision_perf_test.py @@ -205,6 +205,7 @@ def _start_hub( cmd = [ str(zenserver_exe), "hub", + "--enable-execution-history=false", f"--data-dir={data_dir}", f"--port={port}", "--hub-instance-http-threads=8", diff --git a/scripts/test_scripts/kill-test-processes.ps1 b/scripts/test_scripts/kill-test-processes.ps1 new file mode 100644 index 000000000..0668a5319 --- /dev/null +++ b/scripts/test_scripts/kill-test-processes.ps1 @@ -0,0 +1,19 @@ +# Kill leftover CI test processes (zenserver, minio, nomad, consul) whose +# executable lives under the given build directory. Windows counterpart of +# kill-test-processes.sh; see that file for rationale. +# +# Usage: kill-test-processes.ps1 -Label <label> -BuildDir <path> + +param( + [Parameter(Mandatory=$true)][string]$Label, + [Parameter(Mandatory=$true)][string]$BuildDir +) + +foreach ($name in @('zenserver', 'minio', 'nomad', 'consul')) { + $procs = Get-Process -Name $name -ErrorAction SilentlyContinue | + Where-Object { $_.Path -and $_.Path.StartsWith($BuildDir, [System.StringComparison]::OrdinalIgnoreCase) } + foreach ($p in $procs) { + Write-Host "Killing $Label $name (PID $($p.Id)): $($p.Path)" + $p | Stop-Process -Force -ErrorAction SilentlyContinue + } +} diff --git a/scripts/test_scripts/kill-test-processes.sh b/scripts/test_scripts/kill-test-processes.sh new file mode 100755 index 000000000..e5fb2fcaa --- /dev/null +++ b/scripts/test_scripts/kill-test-processes.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# +# Kill leftover CI test processes (zenserver, minio, nomad, consul) whose +# executable lives under the given build directory. +# +# Used by CI workflows to clean up any test processes from a previous run +# before starting a new one, and to reap any that are still running after +# the run finishes. +# +# Usage: kill-test-processes.sh <label> <build_dir> +# label: word printed in log messages, e.g. "stale" or "leftover" +# build_dir: absolute path; only processes whose executable is under this +# directory are killed. +# +# We resolve each PID's actual executable path rather than relying on argv +# (which `pgrep -a` reports). argv starts with the short process name (e.g. +# "consul") regardless of how the process was launched, so a pure argv prefix +# match never fires and leftovers silently survived between runs. + +set -u + +label=${1:?label required} +build_dir=${2:?build_dir required} + +get_exe_path() { + local pid=$1 + if [[ -r "/proc/$pid/exe" ]]; then + # Linux + readlink -f "/proc/$pid/exe" 2>/dev/null || true + else + # macOS fallback: the "txt" file descriptor points at the process binary + lsof -p "$pid" -Fn -a -d txt 2>/dev/null | awk '/^n/{print substr($0,2); exit}' || true + fi +} + +for name in zenserver minio nomad consul; do + while read -r pid; do + [[ -z "$pid" ]] && continue + exe=$(get_exe_path "$pid") + if [[ "$exe" == "$build_dir"* ]]; then + echo "Killing $label $name (PID $pid): $exe" + kill -9 "$pid" 2>/dev/null || true + fi + done < <(pgrep -x "$name" 2>/dev/null || true) +done diff --git a/scripts/test_scripts/oplog-import-export-test.py b/scripts/test_scripts/oplog-import-export-test.py index f913a7351..93f732135 100644 --- a/scripts/test_scripts/oplog-import-export-test.py +++ b/scripts/test_scripts/oplog-import-export-test.py @@ -82,7 +82,7 @@ SERVER_ARGS: tuple[str, ...] = ( def zen_cmd(*args: str | Path, extra_zen_args: list[str] | None = None) -> list[str | Path]: """Build a zen CLI command list, inserting extra_zen_args before subcommands.""" - return [ZEN_EXE, *(extra_zen_args or []), *args] + return [ZEN_EXE, "--enable-execution-history=false", *(extra_zen_args or []), *args] def run(cmd: list[str | Path]) -> None: diff --git a/scripts/test_scripts/oplog-update-build-ids.py b/scripts/test_scripts/oplog-update-build-ids.py index 67e128c8e..2675d07c0 100644 --- a/scripts/test_scripts/oplog-update-build-ids.py +++ b/scripts/test_scripts/oplog-update-build-ids.py @@ -52,7 +52,7 @@ def list_builds_for_bucket(zen: str, host: str, namespace: str, bucket: str) -> result_path = Path(tmp.name) cmd = [ - zen, "builds", "list", + zen, "--enable-execution-history=false", "builds", "list", "--namespace", namespace, "--bucket", bucket, "--host", host, |