Skip to content

test: one failing guest test no longer fails the ones after it - #5

Open
iamvinbas wants to merge 1 commit into
mainfrom
fix/e2e-relay-flake
Open

iamvinbas wants to merge 1 commit into
mainfrom
fix/e2e-relay-flake

Conversation

@iamvinbas

Copy link
Copy Markdown
Owner

After #1 was merged, the macOS browser job on main failed in two of three runs (41875500580, and 41877336978 on #4); 41877365558, the same code, passed.

What failed

  • a guest with no direct path joins through the relay: the recording with the relayed guest on stage had 74 and 131 video frames, under the 144 (6 s × 30 fps × 0.8) the check expects. The runners are slow today: the first recording test took 29–47 s against 15.6 s in October.
  • The three other failures followed from that one. The relay test stopped before its guest left, so the guest kept a slot. no more than 16 guests can join then counted 15 and left its sockets open, so the room was full and the LAN guest in guests on the local network join over HTTPS was refused (timeout). no uncaught errors caught a "VideoFrame was garbage collected" warning.

Changes

  • The relay, 16-guest and LAN tests clean up in finally. Checked locally by forcing the relay test to fail: the other 20 tests pass.
  • The WebRTC guest test now records with its guest on stage and prints the frame count, and the relay test prints its own (note: lines, no new assertion). On CI this tells a slow runner (both low) from a cost of the relay itself (only the relay low). The frame threshold is unchanged until that data is in.
  • relayFrame closes a frame whose write to the track is rejected (the track stopped while a write was pending).

All 21 browser tests pass locally (both recordings: 183 frames in 6 s).

🤖 Generated with Claude Code

On a slow CI runner the relay test's recording came out with too few
frames (74 and 131 of the 144 expected, in two of three macOS runs). The
test stopped before its guest left, so the guest kept a slot; the
16-guest test then counted 15, left its 15 sockets open, and the LAN
guest after it was refused (timeout). The relay, 16-guest and LAN tests
now always clean up.

Both the WebRTC guest test and the relay test now print the frame count
of a recording with that guest on stage, to tell slow runners apart from
a cost of the relay itself.

A frame whose write to the relayed guest's track is rejected (the track
stopped) is now closed instead of left to the garbage collector.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant