Files
hemx/.cargo/mutants.toml
T
slhx agent 216465f779 test(build): close residual helper mutants
Prove compact Rust type and vector facts plus default template paths, alias collision suppression, data parameter prefixes, keyed descendants, and absent Cargo roots. Classify only hemplate's infallible surface parser seam.

req: diagnostics/006

req: diagnostics/004

req: codegen/005

req: test/021
2026-07-17 07:59:26 +02:00

52 lines
4.0 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.
# The direct surface_for_heml_source unwrap mutant is equivalent for the same seam.
# - AppBuilder reuses that same parser seam. Directory-open and recursive errors are
# proven, while a per-entry readdir fault cannot be injected portably after a
# successful read_dir; its unwrap mutant is classified as infrastructure-only.
# - 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.
# - stylesheet_class_tokens loop-progress mutants are deterministically
# non-terminating; sorted, deduplicated, boundary-aware outputs are asserted.
# - context path words are filtered non-empty before extracting their first char;
# `?` and `unwrap` are equivalent under that local iterator invariant.
# - Rust-fact named fields always carry identifiers by syn's type contract. Per-entry
# and recursive read_dir errors cannot be injected portably after the parent opens;
# parent-open, source-read, and parse failures remain explicitly 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 build_ast.* with build_ast.*unwrap\\(\\) in surface_for_heml_source",
"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 surface_for_heml_source.* with surface_for_heml_source.*unwrap\\(\\) in AppBuilder::run",
"replace entry\\? with entry.unwrap\\(\\) in collect_input_files_into",
"replace match guard error.kind\\(\\) == io::ErrorKind::NotFound with true in write_if_changed",
"replace \\+= with (?:-=|\\*=) in stylesheet_class_tokens",
"replace 1 with 0 in stylesheet_class_tokens",
"replace chars.next\\(\\)\\? with chars.next\\(\\).unwrap\\(\\) in context_type_for_heml_path",
"replace entry\\? with entry.unwrap\\(\\) in collect_rust_struct_facts",
"replace collect_rust_struct_facts.*\\? with collect_rust_struct_facts.*unwrap\\(\\) in collect_rust_struct_facts",
]