Repository navigation
Shell tests pass on the Linux host; --offload sends Home's tests there - #376
Merged
Merged
Conversation
ymote
force-pushed
the
fix/linux-shell-tests
branch
from
October 8, 2026 08:07
740d373 to
550a2d4
Compare
Three shell tests failed when Home's tests ran on the Linux host: - backend_data_aliases_cannot_reuse_a_stale_peer_with_the_current_handle depended on test order. auth.* is a macOS and Android host API. Once any test in the process has registered the auth catalog, a Linux host refuses auth.backend.* as api_unavailable before the account check the test expected; alone, the test passed. It now accepts that refusal only where the catalog says the platform lacks the method. On macOS it still asserts the account-scope refusal. - The two photos_preview tests (and, now and then, a few other Splash tests) ran out of makepad's 64 ms wall-clock budget per Splash entry. The Photos entry takes 6 ms alone on the host. With ~1,000 tests in one process at 18-72 threads it took 65-1,100 ms, waiting on makepad's process-wide LiveId interner lock and on page faults. makepad#109 lets MAKEPAD_SPLASH_BUDGET_MS raise the budget; it is stacked onto the runtime patches until the next sweep. Only the test step sets it. With that, tools/ci_local.py keeps only Apple icons, asset catalogs and the macOS compile of Home on the Mac. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
force-pushed
the
fix/linux-shell-tests
branch
from
October 8, 2026 08:53
550a2d4 to
dfede2b
Compare
Contributor
Author
|
Local CI passed on dfede2b ( GitHub would run for this PR: desktop.yml, phone.yml, apps.yml. Merged on this local pass (macOS runner queue); GitHub CI runs on the merge commit on main.
Notes:
|
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.
Why
#373's
--offloadkept Home's test suite on the Mac, because three shell tests failed on the Linux host (EC2 c5d.18xlarge, 72 vCPUs on two sockets). This PR fixes them and moves the suite to the host.The three failures
backend_data_aliases_cannot_reuse_a_stale_peer_with_the_current_handledepended on test order.auth.*is a macOS and Android host API (oauth-service/src/host_catalog.rs).auth.backend.*asapi_unavailable, before the account check the test asserts. Alone, the test passed.api_unavailableonly where the catalog says this platform lacks the method. On macOS it still requires the account-scope refusal ("account changed"). On every platform it still checks that the stale peer reached no backend service.The two
photos_preview_*tests ran out of makepad's 64 ms Splash budget. Each entry into a Splash isolate gets 64 ms of wall-clock time. Measured on the host with instrumentation:lock_mm_and_find_vmabehind other threads' memory-map changes.MAKEPAD_SPLASH_BUDGET_MS, read once. Unset, the budget stays 64 ms. Only phone.yml's test step sets it (10 s). The change rides as stacked runtime patch 19 (makepad-splash-budget.patch, the same lines as Repin the runtime to makepad 75e3e24d (WebReader close, terminal gestures) #109) until the next makepad sweep, so makepadmaindoes not move for it.The offload
tools/ci_local.pynow keeps only the Apple icons, asset catalogs and the macOS compile of Home on the Mac. Building and running Home's and App Hub's tests goes to the host.docs/local-ci.mdis updated to match.Checks
python3 tools/setup.py --check --cargo: green.python3 -m unittest tools/test_ci_local.py: 33 pass.tools/ci_local.py --check-drift: clean.cargo check -p makepad-widgetsgives no warnings in makepad-widgets. Its existing lib tests show the same 6 Linux failures as makepad main without the change (desktop_style, grid, menu_bar, widget_tree).--only apps,desktop,phone --linux-host --offload): running. The result will be posted as a comment.🤖 Generated with Claude Code