Repository navigation
test(render): share GPU initialization and enforce Linux repeats - #330
Merged
Merged
Conversation
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.
Native renderer tests independently created GPU devices even though their assertions only required separate renderer ownership. They now use the existing shared runtime while keeping independent renderers, pools and pipeline state. A four-caller barrier test verifies shared runtime identity, distinct renderer IDs and completed explicit uploads. Production constructors, transfers, backend selection and APIs are unchanged; the previous wasm test construction path is retained.
Linux Visual conformance repeats all six renderer tests in three separate four-thread processes. Every process must emit all four actual GPU completion markers; a missing adapter, skipped GPU path, native crash or missing marker fails. Each process is bounded to 180 seconds, with fresh logs preserved on failure or success and no automatic retries. The merge gate verifies the final source and Linux repeat logs.
Local validation: unchanged-parent five tests pass; candidate six tests pass in each of three processes, including all four GPU cases. Related Clippy, base-feature compilation and format checks pass. Eight terminal owned commands retain one compiler-temporary-directory inventory stop and its successful retry. Preserve 594 prior camera files, 493 scientific JSON, 42 frozen native artifacts, the raw WASM and resolved lockfile. Owned outputs are about 12.25MB and compiler-cache growth 328.53MB, within fixed 64MiB/512MiB limits; no sensor/model/toolchain acquisition.
The earlier Linux SIGSEGV and same-head retry are preserved. Its exact crashing test and driver root cause remain unknown; this change removes redundant test initialization and adds bounded evidence, without claiming the driver defect is identified. Local WSL could not mount its registered virtual disk, so Linux verification uses CI. Physical hardware/performance and operational 80% qualification remain open.
Contract:
benchmarks/render-test-runtime-plan.json(146AP). Evidence:docs/receipts/2026-10-21_render_test_runtime.json.