Commit Graph
253 Commits
Author SHA1 Message Date
pj 96097fb6ea ci(browser): re-enable unprivileged user namespaces for headless Chrome
ubuntu-latest moved to 24.04, whose AppArmor restriction on unprivileged
user namespaces stops headless Chrome from opening its DevTools socket
even with --no-sandbox, surfacing as the driver's 'websocket url timeout'.
Relax the sysctl for the job and add a direct launch check so a future
breakage shows Chrome's own stderr rather than an opaque driver timeout.
2026-06-01 23:20:59 +05:30
pj c41e4d0195 fix(web-runtime): guard global error listeners for non-browser hosts
The module registered window error/unhandledrejection listeners at top
level, which threw under Node (the spec-api test runner) where
globalThis.addEventListener is absent. Register only when the API exists;
the real browser run is unaffected.
2026-06-01 23:11:05 +05:30
pj 95d64d6452 chore(make): run chrome driver tests in the browser job 2026-06-01 23:06:34 +05:30
pj 6da71b5363 test(chrome): gate real-Chrome driver tests behind the browser tag 2026-06-01 23:06:34 +05:30
pj d3665fc7c3 fix(chrome): add disable-dev-shm-usage so Chrome starts in CI 2026-06-01 23:06:34 +05:30
pj 69a9e7eb87 docs(sidecarassets): add package doc for embedded JAR loader 2026-06-01 22:46:50 +05:30
pj 0ba302f9e4 docs: add package docs to trace and verifier 2026-06-01 22:46:50 +05:30
pj 91b00ec9d9 docs: add package docs to runner and testrun pipeline 2026-06-01 22:46:50 +05:30
pj f21028b26e docs(ltl): add package doc to temporal logic evaluator 2026-06-01 22:46:35 +05:30
pj 546f623c04 docs: add package docs to bundler and inspect 2026-06-01 22:46:34 +05:30
pj 09da879709 docs(platform): add package docs to android and ios device prep 2026-06-01 22:46:34 +05:30
pj 72798a76c9 docs(driver): add package docs to mock and sidecar backends 2026-06-01 22:46:21 +05:30
pj 73e41b0dd0 docs(driver): add package docs to driver interface and chrome backend 2026-06-01 22:46:21 +05:30
pj 31caed3e5f docs(cmd): add package docs to CLI and developer tools 2026-06-01 22:46:10 +05:30
pj d154b61d3f test(runner): assert double-tap delegates to driver DoubleTap 2026-06-01 22:45:00 +05:30
pj 3eb08c10b4 refactor(runner): delegate double-tap to driver, drop gesture timing 2026-06-01 22:45:00 +05:30
pj ffa84af591 refactor(mock): record DoubleTap and DoubleTapSelector actions 2026-06-01 22:44:56 +05:30
pj 198c9364fa refactor(chrome): implement DoubleTap as two taps with the gap 2026-06-01 22:44:56 +05:30
pj 902c8f6e90 refactor(sidecar): implement DoubleTap with the sub-100ms inter-tap gap 2026-06-01 22:44:56 +05:30
pj 757a41272a refactor(driver): add DoubleTap and DoubleTapSelector to DeviceDriver 2026-06-01 22:44:52 +05:30
pj e2682b96e1 refactor(driver): scrub backend tool name from comments 2026-06-01 22:44:24 +05:30
pj 19807dc4ab refactor(hierarchy): scrub backend tool name from comments 2026-06-01 22:44:20 +05:30
pj 73fd7b8ee5 docs(action-space): use vendor-neutral native driver wording 2026-06-01 22:44:13 +05:30
pj 9987cc95d4 refactor(bundler): use encoding/json for JS string literals 2026-06-01 22:43:32 +05:30
pj b7bae73aaa refactor(verifier): remove dead __sanderlingIndex compat alias 2026-06-01 22:43:27 +05:30
pj 251680bda3 fix(test): resolve testdata relative to browser_test.go 2026-06-01 22:39:55 +05:30
pj cb2a1cb8d5 refactor(testrun): use sidecarassets package 2026-06-01 22:39:30 +05:30
pj 9d382d0fd2 refactor(doctor): use sidecarassets package 2026-06-01 22:39:30 +05:30
pj b29d80d337 docs(decisions): record internal/permissions deletion 2026-06-01 22:38:56 +05:30
pj 1fa12903d4 chore(make): point test-browser at test/browser 2026-06-01 22:38:49 +05:30
pj fca56bc47e refactor(sidecarassets): rename internal/sidecar to internal/sidecarassets 2026-06-01 22:38:38 +05:30
pj 35255735d9 refactor(test): rename package to browser_test 2026-06-01 22:38:30 +05:30
pj 26293ae3c2 refactor(permissions): delete dead internal/permissions package 2026-06-01 22:38:26 +05:30
pj 51f3a3fc2a refactor(test): relocate browser suite to test/browser 2026-06-01 22:38:21 +05:30
pj 859eae53d4 ci: run the Chrome-driven browser suite in a separate job 2026-06-01 22:01:36 +05:30
pj 87e9719a8a chore(make): add test-browser target for the Chrome-driven suite 2026-06-01 22:01:36 +05:30
pj bafedcbb92 test(integration): drive web fixtures through the real pipeline in headless Chrome 2026-06-01 22:01:36 +05:30
pj a3047a87f4 test(integration): add specs for the web fixtures 2026-06-01 22:01:32 +05:30
pj b8b3c9b8f7 test(integration): add throwing and counter web fixtures 2026-06-01 22:01:32 +05:30
pj f26ede7151 feat(web-runtime): capture uncaught errors into state.exceptions 2026-06-01 22:01:25 +05:30
pj b4ab121fcb test(runner): golden snapshots for trace stream and violation summary 2026-06-01 21:59:55 +05:30
pj e820cff60d refactor(runner): extract RenderSummary for snapshot testing 2026-06-01 21:58:43 +05:30
pj f27e66c152 test(ltl): drop Verdict.String tautology tests 2026-06-01 21:56:12 +05:30
pj 5df421956c test(mock): drop default-field-value assertion test 2026-06-01 21:56:12 +05:30
pj 87506f4b74 test(sidecar): drop stub-mode placeholder tautology tests 2026-06-01 21:56:12 +05:30
pj 19950dffe1 test(driverpb): drop proto getter round-trip tautology 2026-06-01 21:56:08 +05:30
pj 93f1e94098 test(runner): MaxSteps stops after exactly N steps 2026-06-01 21:55:53 +05:30
pj 8001de6728 feat(runner): add MaxSteps bound to Options 2026-06-01 21:55:53 +05:30
pj b6a306286a test(web-runtime): assert uncaught cross-extractor read aborts evaluateExtractors 2026-06-01 21:24:38 +05:30
pj 451d8c6751 test(spec): install fake runtime via defineProperty to survive locked global 2026-06-01 21:24:38 +05:30