Repository navigation
fix(computers): checks that failed on a busy runner give it room, or drop what only timing decided - #670
Merged
Conversation
From the last day and a half of local-backends runs, main's included: - The probe's recording check required a 2 s recording's segments to span 1.6 s; a recorder that took a moment to start spanned 1.40 s and 1.59 s, failing gate 3, so whichever test composed that computer failed (computer_app_test, website_browser_test). It now requires half the recording, as it does of the frames, which a stream that stalls still fails. - desktop_example_test required the recording's first frame showing a clicked cell within one frame interval of the screenshot that first showed it; a frame written 37 ms late failed it. It allows two intervals. - page_driver_test checked that no session owner was left 0.1 s after a bounded call; it now waits up to 5 s for them to end, so one that never ends still fails it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…against one-after-another asks On CodeBuild (#666's Integration Tests), test_the_drivers_readiness_asks_every_apps_server_at_once took 3.15 s with 2.5 s allowed: its clock started before it built the fake driver's client, and three 1 s app checks asked at once left only 1.5 s for that on a busy machine. The driver does ask them at once (runtime.ready_checks gathers them). The clock now starts at the request, and each app's check takes 2 s, so asked at once the status takes about 2 s, one after another 6 s, and the bound is 4 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hout the click-repaint timing, and its probe test names what failed The scripted drive's click-repaint assertion failed on 5 commits, main included, two ways: the first recorded frame showing the clicked cell came 37 ms past the frame allowed, and on #666 no recorded frame showed the change at all. Both come down to when the recorder writes a frame under load. The test still checks each screenshot against the recording's nearest frame, in time and in pixels, which is what puts the two on one clock. The probe test failed on #666 with "scored below 1 (probe: 0)" and nothing more; it now names each probe check that failed and why, from the run's verification. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Checks that failed on main and on unrelated branches over the last day and a half of
local-backendsruns, and on CodeBuild, each on a busy runner. Each either gets room it needed, or loses the part only timing decided:conformance/checks.py,_segments_match)test_a_stream_that_stalls_after_its_first_frame_fails). A probe check that fails fails the compose, and so every test that needed that computer:computer_app_test's WebSocket test failed this way on main.page_driver_testtest_a_call_is_bounded_from_when_it_asks_for_its_session_and_leaves_no_session_half_openChildSessions._own) still running 0.1 s after the bounded call (main e5c1ab9 and 3 other branches)OWNERS_END_WITHIN_S, polling everyOWNERS_POLL_S), so one that never ends still fails.test_computer_app_servertest_the_drivers_readiness_asks_every_apps_server_at_onceruntime.ready_checksgathers them).desktop_example_testtest_a_scripted_drive_is_recorded_on_the_clock_its_screenshots_carryStopIteration)desktop_example_testtest_the_desktop_examples_computer_passes_the_probe_at_fullTesting
page_driver_test.py,test_computer_conformance_recording.pyand the readiness test pass locally.desktop_example_test.pyruns inintegration-local-slowon this PR.Not in this PR
launcher_test.py×3 (KeyError: 'image'): two composes of one disk racing; folded into fix(computers): a disk form's console shows the session's programs again, so releases publish #666.run_bundle_test's killed-run test: ECR Public rate-limiting a pull ofnginx:stable-alpine.🤖 Generated with Claude Code


Confidence Score: 5/5
This PR appears safe to merge.Summary
This PR gives busy runners more room without removing the remaining recording and cleanup checks.
The previous unnumbered polling-delay finding is fixed.
Reviews (6) · Last reviewed commit: "test: the desktop example's scripted dri..." · Reviewed by Greptile