[BUG] Release-image retry test uses a suppressed record #2

Closed
opened 2026-09-15 18:16:35 +02:00 by erikinkinen · 0 comments
Owner

Summary

The production release-image feature configuration fails a kernel-route retry test because its input is an informational startup marker that the release policy intentionally retains without external output. Default and all-feature runs do not expose the mismatch; the integration feature disables that filter in the all-feature build.

Reproduction

Run cargo test --features logd-runtime-release-image submit_string_route_kernel_preserves_retry_result. In the retained full production-feature test invocation, 43 tests pass and this test fails: the handler returns OK (0), while the test expects RETRY (6).

Expected and actual behavior

An output-eligible record should preserve a kernel RETRY result. An informational intermediate-ready marker should remain retained without invoking the external kernel route in a release image, including when the request asks for that route. The existing test uses the latter record while asserting the former behavior. Keep the production suppression policy intact and test both contracts explicitly.

Environment and identity

  • Original Logd source: c53d4550cb432e25d83c9c37f02aac01053818d3; the retained original failure used these Rust files before the correction.
  • Linux x86_64 host, Rust/Cargo 1.97.1, logd-runtime-release-image, development test profile.
  • Process exited 101 with completed cleanup. No VM or image was executed.
  • The isolated kernel-control hook is a host test double. No production output-policy or capability failure is demonstrated.
  • Last known working configuration for this exact test input: unknown; default/all-feature matrices pass.

Evidence and prior checks

The retained complete failing output identifies src/runtime/tests/log_v2.rs:353 and the exact 0-versus-6 assertion. Source review confirms release filtering of the supplied intermediate-ready marker and the separate integration-feature override. The existing standalone CI tests only the default configuration and therefore does not cover this release-only contract.

Signed correction

The independent release/framebuffer run additionally exposed 22 related replay/delivery expectations using filtered INFO records. Corrected delivery fixtures use warnings, while dedicated release-only requested-output and deferred-replay tests preserve explicit INFO suppression coverage. Signed bc15238f25f818a28fe51b249e2db33f667c4599 passes the complete warning-denied host/native matrix: default and runtime/logging configurations each pass 43 tests, serial-only 59, framebuffer/all-feature 133, release-only/release+logging 45, release+serial 62, and release+framebuffer 138, in both development and release profiles. All twenty native builds, strict host/native Clippy, formatting, private host/native rustdoc and documentation checks pass. Earlier failures are retained. Complete push/review CI 233/234 passes with four classified logs, 631,851 bytes and no warnings. Each Rust job runs all eighty-three owned checks across the twenty feature/profile configurations. Product catalog and runtime-image adoption remain separate. Review: #4. Both complete CI runs are now classified and this configuration regression is resolved. Coherent product runtime-image adoption remains a separate open gate.

Tracking

Related component audit: #1. Use an output-eligible warning in the retry test, preserve explicit suppression coverage, and exercise production release/sink configurations in strict local and CI validation. Retain the original failure and close this report only after complete validation of the signed fix.

## Summary The production release-image feature configuration fails a kernel-route retry test because its input is an informational startup marker that the release policy intentionally retains without external output. Default and all-feature runs do not expose the mismatch; the integration feature disables that filter in the all-feature build. ## Reproduction Run `cargo test --features logd-runtime-release-image submit_string_route_kernel_preserves_retry_result`. In the retained full production-feature test invocation, 43 tests pass and this test fails: the handler returns OK (0), while the test expects RETRY (6). ## Expected and actual behavior An output-eligible record should preserve a kernel RETRY result. An informational intermediate-ready marker should remain retained without invoking the external kernel route in a release image, including when the request asks for that route. The existing test uses the latter record while asserting the former behavior. Keep the production suppression policy intact and test both contracts explicitly. ## Environment and identity - Original Logd source: `c53d4550cb432e25d83c9c37f02aac01053818d3`; the retained original failure used these Rust files before the correction. - Linux x86_64 host, Rust/Cargo 1.97.1, `logd-runtime-release-image`, development test profile. - Process exited 101 with completed cleanup. No VM or image was executed. - The isolated kernel-control hook is a host test double. No production output-policy or capability failure is demonstrated. - Last known working configuration for this exact test input: unknown; default/all-feature matrices pass. ## Evidence and prior checks The retained complete failing output identifies `src/runtime/tests/log_v2.rs:353` and the exact 0-versus-6 assertion. Source review confirms release filtering of the supplied intermediate-ready marker and the separate integration-feature override. The existing standalone CI tests only the default configuration and therefore does not cover this release-only contract. ### Signed correction The independent release/framebuffer run additionally exposed 22 related replay/delivery expectations using filtered INFO records. Corrected delivery fixtures use warnings, while dedicated release-only requested-output and deferred-replay tests preserve explicit INFO suppression coverage. Signed `bc15238f25f818a28fe51b249e2db33f667c4599` passes the complete warning-denied host/native matrix: default and runtime/logging configurations each pass 43 tests, serial-only 59, framebuffer/all-feature 133, release-only/release+logging 45, release+serial 62, and release+framebuffer 138, in both development and release profiles. All twenty native builds, strict host/native Clippy, formatting, private host/native rustdoc and documentation checks pass. Earlier failures are retained. Complete push/review CI 233/234 passes with four classified logs, 631,851 bytes and no warnings. Each Rust job runs all eighty-three owned checks across the twenty feature/profile configurations. Product catalog and runtime-image adoption remain separate. Review: https://git.erikinkinen.fi/erix/logd/pulls/4. Both complete CI runs are now classified and this configuration regression is resolved. Coherent product runtime-image adoption remains a separate open gate. ## Tracking Related component audit: https://git.erikinkinen.fi/erix/logd/issues/1. Use an output-eligible warning in the retry test, preserve explicit suppression coverage, and exercise production release/sink configurations in strict local and CI validation. Retain the original failure and close this report only after complete validation of the signed fix.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
erix/logd#2
No description provided.