db5e4bf56c
Drive AppBuilder through a changed template and prove generated Rust and symbols replace stale handles. Tighten the internal write helper to return only the result its callers use and classify the filesystem-equivalent read-guard mutant. req: build/009 req: test/021
33 lines
2.5 KiB
TOML
33 lines
2.5 KiB
TOML
# Explicit infrastructure/invariant classifications for the package-native release gate.
|
|
# - test_process_try_wait: OS process-status failures cannot be injected portably.
|
|
# - test_process_poll_delay: poll cadence is operational; readiness and timeout are integration-proven.
|
|
# - Drop for TestProcess: mutating reaping leaks helper processes beyond the test lifecycle.
|
|
# - inspection_fingerprint: deliberately unobservable test-harness metadata.
|
|
# - BuildFingerprint::from_parts loop-progress mutations: syntactically valid but
|
|
# non-terminating const-loop mutants; deterministic hash outputs are asserted.
|
|
# - Infallible header parsing and multipart byte collection: adjacent public tests
|
|
# prove exact ETag/runtime headers and streamed multipart errors; unwrap mutants
|
|
# are behaviorally equivalent at these validated boundaries.
|
|
# - hemx-build source inspection delegates to hemplate's currently infallible
|
|
# Surface parser; file I/O and invalid Rust-context errors remain explicitly proven.
|
|
# - write_if_changed propagates non-NotFound read errors; for ordinary filesystem
|
|
# paths, attempting the same write returns the same OS error, so the guard mutant
|
|
# is externally equivalent while create/update/no-op behavior is mutation-proven.
|
|
exclude_re = [
|
|
"test_process_try_wait",
|
|
"test_process_poll_delay",
|
|
"delete statement std::thread::sleep\\(Duration::from_millis\\(25\\)\\)",
|
|
"<impl Drop for TestProcess>::drop",
|
|
"inspection_fingerprint",
|
|
"replace \\+= with \\*= in BuildFingerprint::from_parts",
|
|
"replace 1 with 0 in BuildFingerprint::from_parts",
|
|
"replace field \\.bytes\\(\\) \\.await \\.map_err.* with field.bytes\\(\\).await.map_err.*unwrap\\(\\) in InteractionForm::parse_multipart",
|
|
"replace String::from_utf8.* with String::from_utf8.*unwrap\\(\\) in InteractionForm::parse_multipart",
|
|
"replace HeaderValue::from_str.*runtime_js_hash.* with HeaderValue::from_str.*unwrap\\(\\) in <impl IntoResponse for RuntimeJs>::into_response",
|
|
'replace "runtime hash is a valid ETag" with "" in <impl IntoResponse for RuntimeJs>::into_response',
|
|
"replace surface_for_heml_source.* with surface_for_heml_source.*unwrap\\(\\) in diagnostics_for_heml_source",
|
|
"replace surface_for_heml_source.* with surface_for_heml_source.*unwrap\\(\\) in generated_targets_for_heml_source",
|
|
"replace surface_for_heml_source.* with surface_for_heml_source.*unwrap\\(\\) in template_context_facts_for_heml_source",
|
|
"replace match guard error.kind\\(\\) == io::ErrorKind::NotFound with true in write_if_changed",
|
|
]
|