Verify Firefox/WebKit headless runs + debugging docs + smoke matrix (#11) #17

Open
orchestrator wants to merge 2 commits from wip/issue-11 into main
Member

Per #11.

Changes

  • Installed and verified --browser firefox and --browser webkit actually run the suite.
  • Fixed a real cross-engine defect: assert.medianRuntimeLessThan unconditionally read performance.memory (Chromium-only) → now falls back to timing-only with a "memory unavailable" note.
  • Corrected the debugging docs (Playwright's Firefox/WebKit expose no attachable DevTools server; PWDEBUG=1 is the cross-browser path; chrome://inspect needs --remote-debugging-port).
  • Docker smoke: installs all three browsers + a --browser matrix, including the perf code path.

Verification

  • Firefox + WebKit self-tests PASS; Dockerized smoke green.

Closes #11

Per #11. ## Changes - Installed and verified `--browser firefox` and `--browser webkit` actually run the suite. - Fixed a real cross-engine defect: `assert.medianRuntimeLessThan` unconditionally read `performance.memory` (Chromium-only) → now falls back to timing-only with a "memory unavailable" note. - Corrected the debugging docs (Playwright's Firefox/WebKit expose no attachable DevTools server; `PWDEBUG=1` is the cross-browser path; `chrome://inspect` needs `--remote-debugging-port`). - Docker smoke: installs all three browsers + a `--browser` matrix, including the perf code path. ## Verification - Firefox + WebKit self-tests PASS; Dockerized smoke green. Closes #11
- medianRuntimeLessThan no longer requires Chromium-only
  performance.memory; it falls back to timing-only on Firefox/WebKit.
- Correct Firefox/WebKit debugging guidance: Playwright's bundled engines
  expose no attachable DevTools (Firefox uses -juggler-pipe, WebKit
  --inspector-pipe; WEBKIT_INSPECTOR_SERVER is not honored on macOS), so
  point at PWDEBUG=1. Chromium DevTools still needs --remote-debugging-port.
- Install firefox+webkit (--with-deps) in the smoke image and add a
  --browser matrix check running src/pass.test.ts in both.
- Add browser-safe smoke/fixtures/perf.test.ts using
  assert.medianRuntimeLessThan and run it under --browser firefox/webkit in
  the matrix (pass.test.ts stays as the basic wiring check). This exercises
  the previously Chromium-only performance.memory path.
- README: memory is shown only where performance.memory exists (Chromium);
  fix setup to install all three browsers.
- Emit a visible 'memory usage unavailable in this browser' testInfo when
  performance.memory is absent (Chromium output unchanged).
- Drop stale Chromium-only wording in the headless module header, the smoke
  Dockerfile comment, and document (Chromium only) on the CLI's
  --remote-debugging-port help.
@ -286,2 +285,3 @@
```
And for any browser, Playwright's own inspector works too: `PWDEBUG=1 gooey-test …`.
For Firefox and WebKit, use Playwright's own inspector — it drives any browser.
Owner

Does chrome work with Playwright's own inspector? If so, this should be the default mode of operation with --debug-failures is set. This way, it's more simple.

Does chrome work with Playwright's own inspector? If so, this should be the default mode of operation with `--debug-failures` is set. This way, it's more simple.
@ -482,3 +487,3 @@
gc(); // Yes, calling gc() twice seems to trigger more aggressive garbage collection, at least in Chrome 97
}
const usedInner = (performance as any).memory.usedJSHeapSize;
const usedInner = memory ? memory.usedJSHeapSize : 0;
Owner

We should not treat 0 as "not available", instead memory?.usedJSHeapSize and down below check for non-undefined values.

We should not treat `0` as "not available", instead memory?.usedJSHeapSize and down below check for non-undefined values.
This pull request has changes conflicting with the target branch.
  • README.md
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin wip/issue-11:wip/issue-11
git switch wip/issue-11

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff wip/issue-11
git switch wip/issue-11
git rebase main
git switch main
git merge --ff-only wip/issue-11
git switch wip/issue-11
git rebase main
git switch main
git merge --no-ff wip/issue-11
git switch main
git merge --squash wip/issue-11
git switch main
git merge --ff-only wip/issue-11
git switch main
git merge wip/issue-11
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
legend/gooey-test!17
No description provided.