diff --git a/.changes/planning/perf-8757-journey-settle-0-7d2a5e91.md b/.changes/planning/perf-8757-journey-settle-0-7d2a5e91.md new file mode 100644 index 00000000000..f7e90ba17ca --- /dev/null +++ b/.changes/planning/perf-8757-journey-settle-0-7d2a5e91.md @@ -0,0 +1,7 @@ +--- +bump: none +--- + +### Changed + +- surface-journey test: its browser session opens with playwright-cli's settle time at 0, so the twenty phase scripts, which wait for what they check themselves, no longer pay about 1 s each of post-script waiting. diff --git a/plugins/planning/surface/surface-checks.sh b/plugins/planning/surface/surface-checks.sh index d648e6654c4..a9baabacd7b 100755 --- a/plugins/planning/surface/surface-checks.sh +++ b/plugins/planning/surface/surface-checks.sh @@ -159,7 +159,14 @@ if command -v playwright-cli >/dev/null 2>&1; then # prereq-ok: test-only, run b pw run-code --filename "$(script_path "$1")" >"$2" 2>&1 echo "$((SECONDS - start))" >"$2.secs" } - pw open >/dev/null 2>&1 + # After each run-code, playwright-cli waits its settle time (500 ms by default), and again once the + # script's requests finish: about 1 s a call. The journey's twenty phase scripts wait for what they + # check themselves, so its own suite's session skips that wait. The setting is read only at open. + if [[ "$part" == journey ]]; then + PLAYWRIGHT_MCP_TIMEOUT_SETTLE=0 pw open >/dev/null 2>&1 + else + pw open >/dev/null 2>&1 + fi group_ab() { mkdir -p "$d"