185cd18990
Prove sorted, deduplicated CSS/SCSS class extraction across starts, compounds, delimiters, invalid candidates, and invalid stylesheet module names; simplify token scanning to one boundary loop and classify only deterministic non-terminating progress mutants. req: style/001 req: diagnostics/004 req: test/021
42 lines
3.1 KiB
TOML
42 lines
3.1 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.
|
|
# - 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.
|
|
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 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",
|
|
]
|